Paxos、ZAB、RAFT协议

这三个都是分布式一致性协议,ZAB基于Paxos修改后用于ZOOKEEPER协议,RAFT协议出现在ZAB协议之后,与ZAB差不多,也有很大区别。

1. Paxos

分布式节点分为3种角色, Proposer, Acceptor, Learner

Proposer:提出议案[Mn, Vn]

Accptor:决定最终议案

Learner:不参与议案的提出与决定,学习最后的议案

Proposer:

  1. prepare阶段:提出议案编号M, 向Acceptor集合发送

  2. 如果收到来自半数以上的Acceptor响应,向Acctoptor发送Accept请求

Acceptor:

  1. Prepare:响应proposer prepare请求

  2. Accepte: 响应Accept请求

2. ZAB协议

  节点分为3种角色1, Follower, Leader, Observer

  1. 选出leader

  2. 客户端提出的事物都转给Leader处理

  类似二阶段协议

  1. Leader发送Propose给Fowller

  2. 收到半数以上Ack,发送Commit给Follwer

  3. Observer不参与Leader选举,同步数据,数据副本。客户端可以读取Observer数据,提高Zookeeper集群工作效率

猜你喜欢

转载自www.cnblogs.com/luckygxf/p/9137841.html