Paxos
Paxos is the consensus protocol proposed by Lamport, guaranteeing agreement on a value while a majority of nodes survive; the cornerstone of distributed systems.
Purpose
To understand the theoretical foundation of distributed consensus and its engineering implementations, designing fault-tolerant consistency services.
Mechanism
A Proposer proposes: 1) send Prepare(n) to a majority of Acceptors; 2) after a majority promises, send Accept(n,v) to a majority. Learners learn the decided value from a majority of Acceptors. Multi-Paxos optimizes consensus over a continuous log.
Use cases
- Distributed consensus
- Log replication
- Fault-tolerant state machines