Distributed System Design - Consensus
Consensus Algorithms
- Raft
- the newer, easier to understand algorithm
- https://raft.github.io/
- interactive tutorial:http://thesecretlivesofdata.com/raft/
- Paxo
- the "classic" algorithm. For lightweight transactions in cassandra, bigtable’s chubby lock manager.
- zab: zookeeper's algorithm
- blockchain
Use cases
Coordination service,distributed configuration store.
- Leader selection (primary/slave selection)
- Distributed locking
- Task queue / producer consumer queue
- Metadata store: as a storage service for some classes of data
- as a name server
- System-wide Configeration
- fast to roll out(comparing to code push)