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

  1. Partial Failure Is the Normal Case
  2. Ordering Events Without a Shared Clock

Replication

  1. One Leader, and What Failover Costs
  2. Leaderless Quorums: Reading N, R, and W
  3. When Two Writes Collide
  4. Replicating a Cart and a Balance

Partitioning and Consistency

  1. Splitting Data Without Hot Spots
  2. What a Read Is Allowed to Return
  3. CAP and PACELC, Stated Precisely

Agreement Under Failure

  1. Consensus: How a Majority Decides
  2. Suspecting Failure, and Fencing the Old Leader
  3. Should the Database Fail Over Itself?

Start learning with Wondering