Raft (2014) rebuilt Paxos with a single goal: understandability. Same guarantees. Cleaner design. Now behind etcd, Consul, CockroachDB.
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.
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).