Paxos算法
Paxos算法
一、概念
基于消息传递且具有高度容错性的一种算法,是目前公认的解决分布式一致性问题最有效的方法。
解决问题:可以在节点失效、网络分区、网络延迟等各种异常情况下保证所有节点都处于同一种状态,同时paxos算法引入了“过半”原则,既少数服从多数。
二、版本
- Basic Paxos
- Multi Paxos
- Fast Paxos (zookeeper中的zab协议是基于Fast Paxos)
三、角色
- Client:产生提案者
- proposer:提案者
- acceptor:决策者
- learners:学习者 (不参与投票)
四、流程阶段
- prepare:准备阶段
- accept:同意阶段