Pathway 02 · zero → professional

Distributed Systems

Why two machines are more than twice as hard as one

Partial failure, communication, disagreement about time, replication, consensus, coordination — and how to test any of it. The theory track: everything in System Design leans on it.

10 chapters~115 min total21 links out0 accounts required
The chapters — one page each
  1. 01Partial failureOn one machine things either work or crash. Add a network, and a third state appears: unknown.
  2. 02Talking between machinesBefore the deep theory: the mechanics of one service calling another, and why it can never feel local.
  3. 03Time and orderYou have accepted that machines fail independently. Now give up on them agreeing what time it is.
  4. 04Replication and consistencyCopies make a system available. They also make “what is the current value?” a real question.
  5. 05Broadcast, gossip and ordering guaranteesBetween “send one message” and “agree on everything” sits a family of primitives systems quietly rely on.
  6. 06ConsensusSometimes “roughly agreed” is not enough. Consensus is how machines commit to one answer together.
  7. 07Membership, failure detection and coordinationConsensus gave you a kernel of agreement; this stage is the machinery that puts it to work.
  8. 08Distributed transactionsOne database promised you atomicity; now the write spans three systems that each promise nothing about the others.
  9. 09Systems that shippedThe theory is settled. Now read what happened when three famous systems met production.
  10. 10Breaking it on purposeA distributed system you have not deliberately broken is a system whose failure modes you are saving for customers.