Raft (2014) rebuilt Paxos with a single goal: understandability. Same guarantees. Cleaner design. Now behind etcd, Consul, CockroachDB.

FollowerFollowerElection Timeoutno heartbeat → candidateCandidaterequests votesLeader electedmajority votesLog ReplicationAppendEntriesHeartbeatskeep followersCommit on majorityClientsends commandsState Machineapplies committed log
Raft: leader → replicates log → commits on majority → applies to state machine
Advertisement

Three roles

Follower (default), Candidate (wants to be leader), Leader (handles all client requests). At most one leader per term.

Three roles

Follower (default), Candidate (wants to be leader), Leader (handles all client requests). At most one leader per term.

Advertisement

Leader election

No heartbeat within timeout → follower becomes candidate → requests votes. Majority votes → leader.

Log replication

Leader receives client command. Appends to own log. Sends AppendEntries to followers. Once majority replicated, marks committed.

Applies to state machine

Committed entries applied to state machine in order. All nodes end up with same state.

Safety invariants

Election safety (one leader per term). Leader completeness (committed entries survive leader changes). Log matching (same index+term = same entry).

Leader-based + log replication + majority commit. Same guarantees as Paxos, easier to grok.