选举算法(consensus algorigthm)解决的问题是在一个分布式系统里,让系统中的每个节点对系统状态的改变达成共识。
目前有两个经过实践检验的选举算法: Paxos和Raft。Paxos是莱斯利·兰伯特于1990年提出的,但由于过于复杂,限制了它的发展。Raft是斯坦福的Diego Ongaro、John Ousterhout于2013年提出的,它的目标就是以易理解性取代Paxos。
Paxos算法实现:
- Chubby
- libpaxos
- Keyspace
- BerkeleyDB
- Zookeeper
Raft算法实现:
- etcd
- redis