For this recitation, you'll be reading In Search of an Understandable Consensus Algorithm. This paper describes Raft, an algorithm for achieving distributed consensus. The paper contrasts Raft to an algorithm called Paxos: you do not need to know anything about Paxos to read this paper. Raft was designed to be more understandable than Paxos.
Before reading the paper, check out two very helpful websites, which have some useful visualizations:
With those visualizations in mind, read the paper. Skim sections 5.4.3, 7, 9.1, and 9.2.
- The first four sections give background and motivation for Raft. Sections five and six are the primary technical sections.
- Fig. 2 is a good reference to come back to after you've read the paper. Don't get stuck trying to memorize the entire table before you move onto page 5 of the paper; skip it, come back to it during your reading or at the end.
Question for Recitation
Before you come to this recitation, you'll turn in a brief answer to the following questions (really—we don't need more than a sentence or so for each question). Your TA will be in touch about exactly how to turn that in.
Your answers to these questions should be in your own words, not direct quotations from the paper.
- In Raft, what is the leader's function?
- How does the leader work?
- Why does Raft need a leader?