Skip to main content

Reference and Selective Reading

You do not need to read the source books front-to-back for this module. Use the concept pages and practice pages first. Open these local chunks only when you need alternate exposition, more worked examples, or a deeper exercise lane.

Source Roles

SourceRoleWhy it is here
Designing Data-Intensive Applications (Kleppmann)Primary teaching sourceStrongest modern narrative on distributed systems. Chapters 8 (The Trouble with Distributed Systems) and 9 (Consistency and Consensus) are the primary source material for this module
Distributed Systems Concepts and Design (Coulouris et al.)Canonical textbookThe rigorous academic treatment of time, failure models, mutual exclusion, elections, consensus, and coordination services
Database Internals (Petrov)Implementation-focused supportOperational view of failure detection, gossip, Paxos, Multi-Paxos, Raft, ZAB, and PBFT
Database System Concepts (Silberschatz et al.)PeripheralLimited direct treatment of these topics; used sparingly

Read Only If Stuck

Cluster 1: The Inescapable Reality

Cluster 2: Time, Clocks, and Ordering

Cluster 3: Failure Detection and Membership

Cluster 4: Consensus

Cluster 5: Distributed System Patterns

Optional Deep Dive

Concept-to-Source Map

Primary conceptBest source if stuckWhy this source
Eight fallaciesDatabase Internals: Fallacies of Distributed ComputingCleanest compact list
Partial failureDDIA: Faults and Partial FailuresThe clearest single page
Asynchrony / slow vs deadDDIA: Timeouts and Unbounded DelaysMotivates FLP without the formalism
Physical clocks / NTP limitsDDIA: Unreliable ClocksModern operational perspective
Lamport clocks and happens-beforeCoulouris: Logical Time and Logical ClocksRigorous textbook treatment
Vector clocksDDIA: Ordering and Causality (Part 2)Ties vector clocks to causal consistency
Heartbeats / phi-accrualDatabase Internals: Phi-Accrual Failure DetectorOperational algorithm in one page
Gossip / SWIMDatabase Internals: Gossip DisseminationThe best concise treatment
Byzantine faultsDDIA: Byzantine FaultsPragmatic take: when BFT applies
Why consensusDDIA: Distributed Transactions and ConsensusThe reductions in one page
PaxosDatabase Internals: PaxosClearest algorithmic pass
RaftDatabase Internals: RaftConcise, implementation-aware Raft
Leader election / split-brainDDIA: The Truth Is Defined by the MajorityWhere fencing and leases belong
Idempotency / exactly-onceDDIA: The End-to-End Argument for Databases (Part 1)The foundational argument
Coordination servicesDDIA: Membership and Coordination ServicesZK/etcd/Consul abstraction explained