What is Distributed Computing? – Distributed Computing Explained – AWS

In distributed computing, you design applications that can run on several computers instead of on just one computer. You achieve this by designing the software so that different computers perform different functions and communicate to develop the final solution. There are four main types of distributed architecture.

Client-server architecture

Client-server is the most common method of software organization on a distributed system. The functions are separated into two categories: clients and servers.

Clients

Clients have limited information and processing ability. Instead, they make requests to the servers, which manage most of the data and other resources. You can make requests to the client, and it communicates with the server on your behalf.

Servers

Server computers synchronize and manage access to resources. They respond to client requests with data or status information. Typically, one server can handle requests from several machines.

Benefits and limitations

Client-server architecture gives the benefits of security and ease of ongoing management. You have only to focus on securing the server computers. Similarly, any changes to the database systems require changes to the server only.

The limitation of client-server architecture is that servers can cause communication bottlenecks, especially when several machines make requests simultaneously.

Three-tier architecture

In three-tier distributed systems, client machines remain as the first tier you access. Server machines, on the other hand, are further divided into two categories:

Application servers

Application servers act as the middle tier for communication. They contain the application logic or the core functions that you design the distributed system for.

Database servers

Database servers act as the third tier to store and manage the data. They are responsible for data retrieval and data consistency.

By dividing server responsibility, three-tier distributed systems reduce communication bottlenecks and improve distributed computing performance.

N-tier architecture

N-tier models include several different client-server systems communicating with each other to solve the same problem. Most modern distributed systems use an n-tier architecture with different enterprise applications working together as one system behind the scenes.

Peer-to-peer architecture

Peer-to-peer distributed systems assign equal responsibilities to all networked computers. There is no separation between client and server computers, and any computer can perform all responsibilities. Peer-to-peer architecture has become popular for content sharing, file streaming, and blockchain networks.