Distributed Consensus — algorithms that ensure multiple nodes in a distributed system agree on a single value or sequence of values, despite network failures and delays, forming the foundation of reliable distributed systems.
The Consensus Problem
- N nodes must agree on a value (e.g., "who is the leader?" or "what is the next log entry?")
- Must handle: Network partitions, message delays, node crashes
- Impossible to solve with guaranteed termination in asynchronous systems (FLP impossibility) — practical algorithms use timeouts
Raft (Most Popular Today)
- Designed for understandability (vs Paxos complexity)
- Leader Election: Nodes start as followers. If no heartbeat received → become candidate → request votes → majority wins → become leader
- Log Replication: Leader receives client requests, appends to log, replicates to followers. Committed when majority acknowledge
- Safety: Only nodes with up-to-date logs can become leader
Paxos
- Original consensus algorithm (Lamport, 1989)
- Proposer, Acceptor, Learner roles
- Correct but famously difficult to understand and implement
- Multi-Paxos: Extension for sequence of values (replicated log)
Real-World Usage
- etcd: Raft-based key-value store (used by Kubernetes)
- ZooKeeper: ZAB protocol (Paxos variant). Coordination service
- CockroachDB, TiKV: Raft for distributed transactions
- Google Spanner: Paxos for global consensus
Distributed consensus is the hardest problem in distributed systems — but it's what makes databases, orchestrators, and cloud infrastructure reliable.
distributed consensusraft algorithmpaxosleader election
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.