What survives
a failure?
When messages arrive late, nodes stop and operations overlap, what can a system still promise? Build the model, inspect real experiments, then change the conditions yourself.
ILLUSTRATION / 3 voters · quorum 2
Real process results are recorded separately.
Build the concepts in order
Start with processes, files and request/response programming. No business-domain background is assumed. Chapters 1–3 build the model; 4–6 apply it; 7 ties the evidence together.
System & failure assumptions
Name the fault model before making a promise.
25–40 min · Suggested study time, not measuredTime, causality & histories
Separate a timestamp from an ordering constraint.
30–45 min · Suggested study time, not measuredReplication & consistency
Define which observations a shared object permits.
35–50 min · Suggested study time, not measuredState machines, Raft & quorum
Follow a decision through election, commit and recovery.
45–60 min · Suggested study time, not measuredRPC, unknown outcomes & retries
Keep a retry from becoming a second effect.
35–50 min · Suggested study time, not measuredLeases, locks & fencing
Stop stale generations at the receiving resource.
40–55 min · Suggested study time, not measuredRecovery & evidence
Reconcile unknowns and preserve the scope of a claim.
30–45 min · Suggested study time, not measuredThe cluster is three real processes on one host. Faults are owned process crashes/pauses and delayed application responses. The browser checker is a separate small model. Neither is a multi-host performance proof.
Inspect. Change. Reproduce.
Read without installing anything. Run the companion when you want to explore a different schedule.
Interactive classroom ↗
Seven hands-on scenes; pause nodes, drag reads, change delays and replay evidence. Compare linearizable and sequential histories. Inspect a witness, a counterexample or an inconclusive search.
Real experiment evidence ↗
Every baseline repetition: caller outcomes, committed effects, lease generations and recovery reads.
Reproduce the real experiments ↗
Download the standalone source. Run, inspect and modify three real experiment families on loopback.
Connect the layers
Continue into local transactions, streaming state, computational recovery and runtime cancellation without conflating their guarantees.