Zab协议
zab协议是Zookeeper中的一个原子广播协协议,实现数据的一致性;
集群中的所有事务都是由Leader节点处理,然后又leader节点同步到其他节点follower;
Zab协议中角色:
1.Leader角色:负责处理集群中的所有事务
2.follower角色:参数事务请求投票和leader选举投票
3.observer角色:不参与事务请求投票和leader选举投票;只能处理非事务请求
Zab中的角色:
1.Looking:进入Leader选举状态
2.Following:Follower和leader服务器保持同步时的状态
3.Leading:Leader服务器的状态
Zxid事务编号 & sid
zxid是一个64位的数字,低32位表示的是一个单调递增的计数器
高32位表示坐在的周期,共同确定分布式事务的唯一性;
sid:表示zookeeper集群中id,人为指定,主要用来leader选举;
选举规则:
1.先比较zxid,在比较sid,
2.先投自己 选票内容(zxid,sid)
3.遇强改投