栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Zab协议(10)-选举算法阶段总结

Zab协议(10)-选举算法阶段总结

2021SC@SDUSC

目录
  • 选举
  • 同步
  • 广播

选举

最新的版本里的选举算法只有一个 ,即FastLeaderElection方法。
选举:通过特定的选举算法选出leader,
第一步:当系统刚启动时,3 个服务器当前投票均为第一轮投票。此时每个服务器都推选自己,并将选票信息广播出去。
第二步:根据判断规则,先比较数据zxid,数据zxid大者胜出;其次再判断id, 大者胜出;然后再将自身最新的选举结果发送出去。
第三步:选出的主节点计算得票数,如果超过集群中节点半数,则该节点被选举为leader

同步

Leader 要负责将本身的数据与 Follower 完成同步,做到多副本存储。这体现了CAP中的高可用和分区容错。、
完成Leader选举(新的 Leader 具有最高的zxid)之后,在正式开始⼯作(接收客户端请求)之前,Leader服务器会⾸先确认事务⽇志中的所有Proposal是否都已经被集群中过半的机器提交了,即是否完成数据同步 。

Leader服务器需要确保所有的Follower服务器能够接收到每⼀条事务Proposal,并且能够正确地将所有已经提交了的事务Proposal应⽤到内存数据中。等到 Follower服务器将所有其尚未同步的事务 Proposal 都从 Leader 服务器上同步过来并成功应⽤到本地数据库中后,Leader服务器就会将该Follower服务器加⼊到真正的可⽤Follower列表中,并开始之后的其他流程。

广播

当一台新的服务器启动后加入到集群中,如果此时集群中已经存在一个Leader服务器在负责进行消息广播,那么加入的服务器会自动进入数据恢复模式: 找到Leader 所在的服务器,并与其进⾏数据同步,数据同步完成后参与到消息⼴播流程中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/663696.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号