Implementing Distributed Consensus
summary
A minimal educational lock service called Skinny implements a Paxos-like protocol in Go using protocol buffers and gRPC, running five replicas across continents and using monotonically increasing round IDs and per-node promised IDs. It demonstrates a working acquire/commit flow where a three-node majority out of five decides the holder, exposes timeouts, concurrent proposal/early-stop optimizations, and the bug called a ghost quorum where tight timeouts leave two slow nodes forever behind. The code runs and is purposely non-production.
AI-written summary · about
chapters (12)
- 0:00Intro
- 1:00What is Distributed Consensus
- 6:41Skinny Chrome
- 11:48What happens when something fails
- 17:24Implementation
- 21:53Reaching Out
- 23:42Sequential Requests
- 24:19Timeouts
- 25:14Concurrent Requests
- 35:10Cancelling Global Context
- 36:12Ghost Program
- 38:04Sources
related talks
22mLiberating Distributed Consensus
48mDistributed Consensus Algorithms
40mConsensus Algorithms in Distributed Systems
43mAll Together Now: An Introduction to Distributed Consensus
23mLightning Talks on Distributed Systems
41mDistributed Systems explained with NodeJS
51mDo Not Reimplement Distributed Consensus Algorithms
42mBeyond Blockchain: Convergent Consensus
