Interactive curriculum
See the system make every decision.
Build a global service, then step through replication, stale reads, and leader failure. Follow the course or jump straight to the problem you care about.
6 interactive · 10 planned
Choose your entry point
Jump to a lesson
Interactive lessons open now. Planned lessons show what comes next.
Distribution changes the rules
What changes when work crosses a network?
The network is uncertain
Latency, timeouts, retries, and ambiguous failure.
Copies disagree
What happens when the same data lives in several places?
Choose a consistency promise
Compare eventual, session, and linearizable reads.
Wait for a quorum
Trade latency and availability for stronger agreement.
Agree through failure
How do independent nodes commit one history?
Order concurrent writes
See why clocks cannot settle every conflict.
Commit one history
Replicated logs, majorities, and consensus.
Split the network
Partitions, split brain, and the CAP tradeoff.
Distribute the workload
How does the design change when one copy is not enough?
Partition the data
Divide keys between nodes and route each request.
Rebalance the cluster
Move ownership safely when nodes join or leave.
Handle a hotspot
Respond when one key receives most of the traffic.
Coordinate across shards
Atomicity, two-phase commit, and partial completion.