NOTE

1.1 Distributed Systems

An overview of why distributed systems are needed and how replication, partitioning, consistency, transactions, communication, and common distributed components fit together.

Distributed SystemsCreated Updated 1 min readhistorical

This is a historical learning note and may contain outdated or incomplete understanding.

1. What Is a Distributed System?

A distributed system is composed of multiple independent processes or nodes that communicate over a network and cooperate to provide a service.

2. Why Do We Need Distributed Systems?

A single machine has finite compute, storage, and I/O capacity and is also a single failure domain. Distributing a system across multiple machines can improve scalability, throughput, availability, and fault tolerance, although it introduces coordination and consistency problems.

3. How Do We Design a Distributed System?

3.1 Replication

Distributed-System Replication

3.2 Partitioning

Distributed-System Partitioning

4. Theoretical Foundations

5. Communication

6. Service State

7. Architecture Patterns

Microservices are one common architectural style for distributed services. The related note is not yet public.

8. Deployment and Rollback

9. Common Distributed Components

9.1 Distributed IDs

9.2 Distributed Sessions

9.3 Distributed Locks

9.4 Distributed Transactions

9.5 Distributed Storage

9.6 Distributed Computing

10. References

Loading helpful count