None
NL
Building a Raft
['Ben Congdon']
Ben Congdon
Raft is, in theory, pretty simple: The idea is that you want to replicate a list of log entries across a set of nodes such that if an entry gets “committed” to the log, then no other node can commit any different log entry to the same position in the log. # Example logs [Node 1]: Starting election for term 1 [Node 2]: Becoming follower in term 1 [Node 0]: Becoming follower in term 1 [Node 1]: RequestVote -> Node 0: &{Term:1 Candidate:1 LastLog:0 LastTerm:0}; &{Term:1 VoteGranted:true} [Node 1]: RequestVote -> Node 2: &{Term:1 Candidate:1 LastLog:0 LastTerm:0}; &{Term:1 VoteGranted:true} [Node 1]: Elected leader! Implementing Raft - Eli Bendersky - An excellent blog series describing implementing Raft in Go.