Raft Resources
Raft is a fault tolerance protocol that uses state machine replication to allow a group of nodes to handle crash failures.
1. Appreciate “Understandable Consensus”
To start your Raft journey, begin by appreciating the history of what it builds on:
- Read the Abstract and glance at (but don’t read, unless you really want to) Lamport’s classic 1998 paper on Paxos
- If you are curious, the history of paxos is also a quick and interesting read
- Next, read the Abstract and glance at (but don’t read, unless you really want to) Ongaro’s 2014 Raft paper
- if you are curious, learn why it is called Raft
- Having looked at both papers, reflect on their similarities and differences
2. Learn the Basics of Raft
While the Raft paper is relatively easy to follow, we only expect you to understand the high level design. You may find it easiest to use the following approach:
- Watch Distributed Consensus with Raft - CodeConf 2016
- Walk through the Secret Lives of Data Raft Visualization
- Read this overview Raft: Consensus made simple(r)
At this point you should understand the high level ideas in Raft. Optionally, if you want to go deeper:
- Play around with this Raft Simulator
- Watch a presentation by one of Raft’s authors
- Read the full Raft paper
- (You should not need to do this to solve the quiz)
3. Practice What you Learned
Step through these slides (or look at the PDF) and answer the questions. If you have questions, post on Slack in #a4raft!
4. Take the Raft Quiz
Once you are comfortable with Raft, take the Raft Consensus Quiz. See the Tasks page for due dates and details on allowed material for quizzes.