What is a Distributed System?
Last Updated :
13 Nov, 2024
A distributed system is a collection of independent computers that appear to the users of the system as a single coherent system. These computers or nodes work together, communicate over a network, and coordinate their activities to achieve a common goal by sharing resources, data, and tasks.

Difference between centralized system and distributed system
All data and computational resources are kept and controlled in a single central place, such as a server, in a centralized system. Applications and users connect to this hub in order to access and handle data. Although this configuration is easy to maintain and secure, if too many users access it simultaneously or if the central server malfunctions, it could become a bottleneck.
A distributed system, on the other hand, disperses data and resources over several servers or locations, frequently across various physical places. Better scalability and reliability are made possible by this configuration since the system can function even in the event of a component failure. However, because of their numerous points of interaction, distributed systems can be more difficult to secure and administer.
Architectures of Distributed systems
Below are some of the common distributed system architectures:
- Client-Server Architecture:
- In this setup, servers provide resources or services, and clients request them. Clients and servers communicate over a network.
- Examples: Web applications, where browsers (clients) request pages from web servers.
- Peer-to-Peer (P2P) Architecture:
- Each node, or "peer," in the network acts as both a client and a server, sharing resources directly with each other.
- Examples: File-sharing networks like BitTorrent, where files are shared between users without a central server.
- Three-Tier Architecture:
- This model has three layers: presentation (user interface), application (business logic), and data (database). Each layer is separated to allow easier scaling and maintenance.
- Examples: Many web applications use this to separate user interfaces, logic processing, and data storage.
- Microservices Architecture:
- The application is split into small, independent services, each handling specific functions. These services communicate over a network, often using REST APIs or messaging.
- Examples: Modern web applications like Netflix or Amazon, where different services handle user accounts, orders, and recommendations independently.
- Service-Oriented Architecture (SOA):
- Similar to microservices, SOA organizes functions as services. However, SOA typically uses an enterprise service bus (ESB) to manage communication between services.
- Examples: Large enterprise applications in finance or government, where different services handle various aspects of business processes.
- Event-Driven Architecture:
- Components interact by sending and responding to events rather than direct requests. An event triggers specific actions or processes in various parts of the system.
- Examples: Real-time applications like IoT systems, where sensors trigger actions based on detected events.
The most common forms of distributed systems today operate over the internet, handing off workloads to dozens of cloud-based virtual server instances that are created as needed, and then terminated when the task is complete.
Example of a Distributed System
Any Social Media can have its Centralized Computer Network as its Headquarters and computer systems that can be accessed by any user and using their services will be the Autonomous Systems in the Distributed System Architecture.

- Distributed System Software: This Software enables computers to coordinate their activities and to share the resources such as Hardware, Software, Data, etc.
- Database: It is used to store the processed data that are processed by each Node/System of the Distributed systems that are connected to the Cen