Distributed Systems

Overview

Distributed systems run across multiple machines that coordinate through the network. They improve availability and scale, but introduce latency, partial failures, and consistency tradeoffs.

Fundamental Challenges

flowchart LR A[Client] --> B[Service Node A] A --> C[Service Node B] B --> D[(Replica 1)] C --> E[(Replica 2)] D -. replication .-> E

CAP-Oriented Decision Example

A product catalog may prioritize availability over strict consistency during spikes. A payment ledger usually prioritizes consistency over availability for correctness.

Catalog service: AP-leaning behavior for read availability Payment ledger: CP-leaning behavior for transactional correctness

Reliability Techniques

Common Pitfalls

Key Takeaways