Client Server

Processes in a distributed system are split into two (potentially overlapping) groups in the fundamental client-server architecture. A server is a program that provides a particular service, such as a database service or a file system service. A client is a process that sends a request to a server and then waits for the server to respond before requesting a service from it. This client-server interaction, also known as request-reply behavior is shown in the figure below:

Client Server

When the underlying network is reasonably dependable, as it is in many local-area networks, communication between a client and a server can be implemented using a straightforward connection-less protocol. In these circumstances, a client simply bundles a message for the server specifying the service they want along with the relevant input data when they make a service request. After that, the server receives the message. The latter, on the other hand, will always await an incoming request, process it after that, and then package the outcomes in a reply message that is then provided to the client.

Efficiency is a clear benefit of using a connectionless protocol. The request/reply protocol just sketched up works as long as communications do not get lost or damaged. It is unfortunately not easy to make the protocol robust against occasional transmission errors. When no reply message is received, our only option is to perhaps allow the client to resubmit the request. However, there is a problem with the client’s ability to determine if the original request message was lost or if the transmission of the reply failed. 

A reliable connection-oriented protocol is used as an alternative by many client-server systems. Due to its relatively poor performance, this method is not totally suitable for local-area networks, but it is ideal for wide-area networks where communication is inherently unreliable.

Centralized Architecture in Distributed System

The centralized architecture is defined as every node being connected to a central coordination system, and whatever information they desire to exchange will be shared by that system. A centralized architecture does not automatically require that all functions must be in a single place or circuit, but rather that most parts are grouped and none are repeated elsewhere as would be the case in a distributed architecture.

It consists following types of architecture:

  • Client-server
  • Application Layering

Similar Reads

Client Server

Processes in a distributed system are split into two (potentially overlapping) groups in the fundamental client-server architecture. A server is a program that provides a particular service, such as a database service or a file system service. A client is a process that sends a request to a server and then waits for the server to respond before requesting a service from it. This client-server interaction, also known as request-reply behavior is shown in the figure below:...

Application Layering

However, many individuals have urged a distinction between the three levels below, effectively adhering to the layered architectural approach we previously described, given that many client-server applications are intended to provide user access to databases:...

Conclusion

In Conclusion, Centralized architecture makes it easier to manage and secure, but it may not be the best fit for applications that need high scalability, performance, or fault tolerance....