Centralized Architecture in Distributed System
Last Updated :
04 Dec, 2023
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 ServerWhen 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 layersConsider 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.
Similar Reads
Architecture Styles in Distributed Systems
Architecture styles in distributed systems define how components interact and are structured to achieve scalability, reliability, and efficiency. This article explores key architecture stylesâincluding Peer-to-Peer, SOA, and othersâhighlighting their concepts, advantages, and applications in buildin
15+ min read
Three-Tier Client Server Architecture in Distributed System
The Three-Tier Client-Server Architecture divides systems into presentation, application, and data layers, increasing scalability, maintainability, and efficiency. By separating the concerns, this model optimizes resource management and allows for independent scaling and updates, making it a popular
7 min read
File Service Architecture in Distributed System
File service architecture in distributed systems manages and provides access to files across multiple servers or locations. It ensures efficient storage, retrieval, and sharing of files while maintaining consistency, availability, and reliability. By using techniques like replication, caching, and l
12 min read
Agreement Protocols in Distributed Systems
Agreement protocols in distributed systems ensure that multiple nodes or processes reach a consensus on a shared state or decision despite failures and network partitions. This introduction explores the fundamental concepts, challenges, and key protocols used to achieve reliable agreement in decentr
12 min read
Load Balancing Approach in Distributed System
A load balancer is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers. Load adjusting is the approach to conveying load units (i.e., occupations/assignments) across the organization which is associated with the distributed system. Load adj
3 min read
File Caching in Distributed File Systems
File caching enhances I/O performance because previously read files are kept in the main memory. Because the files are available locally, the network transfer is zeroed when requests for these files are repeated. Performance improvement of the file system is based on the locality of the file access
12 min read
Atomic Commit Protocol in Distributed System
In distributed systems, transactional consistency is guaranteed by the Atomic Commit Protocol. It coordinates two phasesâvoting and decisionâto ensure that a transaction is either fully committed or completely canceled on several nodes. Distributed TransactionsDistributed transaction refers to a tra
4 min read
Group Communication in Distributed Systems
In distributed systems, efficient group communication is crucial for coordinating activities among multiple entities. This article explores the challenges and solutions involved in facilitating reliable and ordered message delivery among members of a group spread across different nodes or networks.G
8 min read
File Accessing Models in Distributed System
In Distributed File Systems (DFS), multiple machines are used to provide the file systemâs facility. Different file system utilize different conceptual models of a file. The two most usually involved standards for file modeling are structure and modifiability. File models in view of these standards
4 min read
What is Task Assignment Approach in Distributed System?
A Distributed System is a Network of Machines that can exchange information with each other through Message-passing. It can be very useful as it helps in resource sharing. In this article, we will see the concept of the Task Assignment Approach in Distributed systems. Resource Management:One of the
6 min read