Open In App

Centralized Architecture in Distributed System

Last Updated : 04 Dec, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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

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

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.

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:

  • The user-interface level
  • The processing level
  • The data level

Everything required to connect with the user, such as display management directly, is contained at the user-interface level. Applications are often found at the processor level. The actual data that is used to make decisions is managed at the data level. 

The User Interface Level

The user-interface level is often implemented by clients. Programs that let users interact with applications make up this level. The sophistication level across application programs differs significantly. A character-based screen is the most basic user-interface application.
Typically, mainframe environments have employed this kind of interface. One hardly ever speaks of a client-server setup in situations where the mainframe manages every aspect of interaction, including the keyboard and monitor. 

The Processing Level

This is the middle part of the architecture. This is a logical part of the system where all the processing actions are performed on the user interaction and the data level. It processes the requests from the user interface and performs certain operations.

The Data Level

The data level in the client-server model contains the programs that maintain the actual data on which the applications operate. An important property of this level is that data are often persistent, that is, even if no application is running, data will be stored somewhere for the next use. In its simplest form, the data level consists of a file system, but it is more common to use a full-fledged database. In the client-server model, the data level is typically implemented on the server side.

Example: 

Internet search engine into three different layers

Internet search engine into three different layers

Consider an Internet search engine. The user interface of a search engine is very simple: a user types in a string of keywords and is subsequently presented with a list of titles of Web pages. The back end is formed by a huge database of Web pages that have been prefetched and indexed. The core of the search engine is a program that transforms the user’s string of keywords into one or more database queries. It subsequently ranks the results into a list and transforms that list into a series of HTML pages. Within the client-server model, this information retrieval part is typically placed at the processing level.

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.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads