Distributed System Fundamentals and Principles
Distributed System Fundamentals and Principles
System:
Fundamentals and
Principles
Distributed systems are a collection of independent computers that
cooperate to perform a task. These systems are built to handle
complex workloads and provide high availability and scalability.
by Flip Flop
What is a Distributed
System?
Shared Resources Communication
A distributed system allows Components in a
multiple computers to distributed system
access and share data and communicate with each
resources, such as other over a network,
databases, files, and exchanging messages and
applications. data.
Scalability
Distributed systems can easily scale horizontally by adding
more nodes to handle increased workload.
Key Characteristics of Distributed Systems
1 Concurrency 2 Asynchronous Communication
Multiple components within a distributed system can Components communicate asynchronously, sending
operate independently and concurrently, handling messages and receiving responses at different times.
requests simultaneously.
A central server manages All nodes have equal capabilities, An application is divided into
resources, while clients request and communication occurs directly independent services that
and receive data from the server. between peers without a central communicate with each other over
authority. a network.
Challenges in Distributed Systems
Data Consistency
Maintaining consistency of data across multiple nodes is a major
challenge in distributed systems.
Network Latency
Communication delays between nodes can introduce performance issues
and affect response times.
Fault Tolerance
Ensuring that the system remains operational even in the presence of
failures is crucial for reliability.
Security
Protecting data and resources across multiple nodes from unauthorized
access is essential.
Distributed Coordination and Consensus
Distributed Locks Distributed Transactions
Ensuring that only one node can access a shared resource at a Ensuring that multiple operations across different nodes happen
time to prevent conflicts. atomically, either all succeed or all fail.
1 2 3
Leader Election
Choosing a leader among a set of nodes to coordinate actions
and make decisions.
Fault Tolerance and
Reliability
Redundancy Replicating data and
components to ensure
availability even if some
parts fail.