Distributed Systems Fall 2022 Lecture 7: Raft In this lecture we will look at Raft, a commonly used consensus protocol and how it can be used.. # Ongaro and Ousterhout: In Search of an Understandable Consensus Algorithm Over the last decade RSMs have become the main reason to deploy consensus protocols. One of the more commonly studied consensus protocols (also adopted by Google in Chubby) has been Paxos. In most presentations Paxos is presented as several different protocols: one for committing a single value (single-decree paxos), one for electing leaders, and one for combining these two parts to build RSMs. Raft is a newer paper that combines all of these components into a single protocol. You will be implementing Raft in Lab 3 and 4. ## Questions (a) When is a log entry considered to have been committed in Raft? What log entries can be applied to the RSM? (b) What properties (invariant's) hold for the leader's log in a Raft cluster? How does the leader election process ensure that these invariants hold?