System design (HLD, LLD and architecture)
Distributed Systems
The planned outline of 17 modules. Lessons are written, run and reviewed before they are published.
Before this track
Planned outline
- Module 1
Foundations: models, failures and messages
Coming soon - Module 2
Time, clocks and ordering
Coming soon - Module 3
Failure detection, membership and gossip
Coming soon - Module 4
Replication protocols
Coming soon - Module 5
Consistency models
Coming soon - Module 6
Quorums
Coming soon - Module 7
CAP and PACELC, stated precisely
Coming soon - Module 8
Consensus: Paxos intuition and Raft in depth
Coming soon - Module 9
Coordination: elections, leases, fencing and locks
Coming soon - Module 10
Distributed transactions
Coming soon - Module 11
CRDTs, operational transformation and local-first software
Coming soon - Module 12
Partitioned and replicated systems
Coming soon - Module 13
Byzantine faults (overview)
Coming soon - Module 14
Testing and verifying distributed systems
Coming soon - Module 15
Failure in production
Coming soon - Module 16
Case studies: real systems end to end
Coming soon - Module 17
Using distributed-systems depth in design interviews
Coming soon
Official documentation
- raft.github.io/raft.pdf (raft.github.io)
- lamport.azurewebsites.net/pubs/paxos-simple.pdf (lamport.azurewebsites.net)
- jepsen.io/consistency (jepsen.io)
- www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed (infoq.com)
- arxiv.org/abs/1509.05393 (arxiv.org)
More in System design (HLD, LLD and architecture)
- System Design (High-Level Design) (coming soon)
- Low-Level Design (Object-Oriented Design) (coming soon)
- Design Patterns (GoF and modern) (coming soon)
- Concurrency & Multithreading (coming soon)
- All System design tracks
- How we make lessons