How Distributed Systems Stay Correct and Available
For backend engineers who want to know how large systems keep data correct and services up. Through Dynamo, Spanner, Raft, and real outages at AWS, GitHub, and Cloudflare, you will reason about replication, partitioning, consistency, consensus, and failure detection.
4 sections ยท 10 lessons
Course outline
Failure and Time
- Partial Failure Is the Normal Case
- Ordering Events Without a Shared Clock
Replication
- One Leader, and What Failover Costs
- Leaderless Quorums: Reading N, R, and W
- When Two Writes Collide
- Replicating a Cart and a Balance
Partitioning and Consistency
- Splitting Data Without Hot Spots
- What a Read Is Allowed to Return
- CAP and PACELC, Stated Precisely
Agreement Under Failure
- Consensus: How a Majority Decides
- Suspecting Failure, and Fencing the Old Leader
- Should the Database Fail Over Itself?