Centralized and Decentralized Architecture
Get an overview of centralized and decentralized architectures in software architecture.
Overview
Centralized and decentralized architecture styles represent two fundamental ways of thinking about and organizing systems, networks, or organizations. They form the core principles that dictate how these entities function, make choices, distribute resources, and manage different tasks.
In essence, these two paradigms serve as the fundamental building blocks that shape the structure and behavior of systems, networks, or organizations, defining their fundamental characteristics and operational methods.
Centralized architecture
Let’s first discuss centralized architecture because this is the most common and widely used one. In this type, there’s a server node (controller node, managing the work distribution) and a client node (worker node, doing the actual work) connected to each other. A controller node can have many worker nodes, but a worker node can only have one controller node.
Some of the centralized patterns discussed in this course include monolithic architecture, layered architecture and client-server architecture.
Characteristics
Some of the characteristics of a centralized architecture are:
-
Global clock: Since the whole system is connected to a server, the client nodes can sync their clock with the server node.
-
Single server node: There’s one single server node in this architecture that ...