The Raft Consensus Algorithm
summary
Explains Raft as three concrete problems—leader election, log replication, safety—and shows a working Go implementation using HashiCorp Raft with an HTTP key‑value API and goroutines. Demonstrates a 3-node live demo (and a 5‑node visualization), where leaders accept client writes, replicate log entries, and a majority acknowledgement commits entries so they’re durable. Shows leader failover: stopped leader, election triggers, new leader accepts writes and later brings the rejoined node up to date.
AI-written summary · about
chapters (20)
- 0:00Introduction to talk
- 0:49What is a distributed system
- 3:27Consensus algorithms overview
- 5:22Raft algorithm basics
- 7:12Raft node states
- 8:40Raft communication RPCs
- 14:17Raft log replication
- 14:41Demo introduction
- 15:49Visualization of Raft cluster
- 20:52Code walkthrough overview
- 26:21Live cluster demonstration
- 30:23Q&A session begins
- 30:47Client leader discovery
- 31:55Handling old leader restart
- 32:59Scaling cluster on the fly
- 34:11Network partition scenarios
- 36:56Voting criteria in elections
- 38:31Scaling limitations
- 39:17Cluster communication overhead
- 41:08Closing remarks
related talks
47mUnderstanding Raft Consensus
01h 32mHow to Reach Consensus with Paper, Pencil and the Raft Algorithm
47mDistributed Systems: When Democracy and Computer Science Come Together
14mDistributed Consensus in 15 Minutes!
01h 27mHow to Reach Consensus Using Paper, Pencil and the Raft Algorithm
43mBuild Your Own Distributed System Using Go
44mImproving Raft Survivability in Real-World Conditions
43mRa: a Raft implementation
