Distributed Systems
Many computers, one system — consensus, replication, fault tolerance.
Why Distributed Systems Are Hard
Distributed systems fail in ways that single machines never do — understanding why is the foundation of every reliable system at scale.
Communication & RPC
Remote Procedure Calls bridge the illusion of local function calls across unreliable networks, demanding precise contracts for serialization, failure semantics, and delivery guarantees.
Time, Clocks & Ordering
Time is not global in distributed systems — logical clocks give us the only ordering that actually matters: causality.
Replication & Consistency Models
Replication is the art of keeping multiple copies of data consistent — a battle between availability and truth that shapes every distributed system you will ever build.
Consensus: Paxos & Raft
Consensus algorithms let a cluster of unreliable machines agree on a single value — reliably — even when nodes crash and messages get lost.
Distributed Transactions
Distributed transactions reveal the fundamental tension between correctness and availability: making multiple nodes agree is possible, but never free.
The CAP Theorem & Tradeoffs
The CAP theorem is not a choice between three properties but a precise mathematical statement about what distributed systems can guarantee when the network betrays you.
MapReduce & Large-Scale Data
MapReduce and large-scale data processing: how Google, Hadoop, and Spark turned petabyte problems into embarrassingly parallel ones you can solve with a few hundred lines of code.
Fault Tolerance & Reliability
Fault tolerance is the art of building systems that keep their promises even when the world actively tries to break them.