Consensus¶
Category: Distributed systems · Status: stub
One line: Getting a group of machines to agree on one value, or one log of commands, even though some of them fail — the problem Paxos and Raft solve.
Also called: Raft, Paxos.
How it connects¶
- See also: Partial failure
In each language¶
| Elsewhere | Raft keeps the replicated log in etcd ↗ and Consul ↗ |
Where to read more¶
- In the books: Concurrent Programming: Algorithms, Principles, and Foundations, Michel Raynal — ch. 14, 'Universality of Consensus'
- In the books: Distributed Computing, Ajay D. Kshemkalyani, Mukesh Singhal — ch. 14, 'Consensus and Agreement Algorithms'
- In the books: The Art of Multiprocessor Programming, Maurice Herlihy, Nir Shavit — ch. 5, 'The Relative Power of Primitive Synchronization Operations' → 'Consensus Numbers'
- In the books: Designing Data-Intensive Applications, Martin Kleppmann — ch. 9, 'Consistency and Consensus'
- In the books: Database Internals, Alex Petrov — ch. 14, 'Consensus'
- Notes: Raft protocol ↗
- Reference: Wikipedia: Consensus (computer science) ↗
- Reference: The Raft Consensus Algorithm ↗