前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZooKeeper ZAB 协议模式

ZooKeeper ZAB 协议模式

作者头像
happyJared
发布2019-11-04 17:20:31
3310
发布2019-11-04 17:20:31
举报
文章被收录于专栏:happyJaredhappyJared

ZAB 协议包括两种基本的模式: 崩溃恢复和消息广播

当服务框架在启动中,或是当 Leader 服务器出现网络中断、崩溃退出或重启等异常情况时,ZAB 协议就会进人恢复模式,然后选举产生新的 Leader 服务器。

当选举产生新的 Leader 服务器,同时集群中已经有过半的机器与该 Leader 服务器完成了状态同步,ZAB 协议就会退出恢复模式。其中,所谓的状态同步,是指数据同步,这是用来保证集群中存在过半的机器能够和 Leader 服务器的数据状态保持一致

当集群中已经有过半的 Follower 服务器完成和 Leader 服务器的状态同步,那么整个服务框架就可以进人消息广播模式。 当一台同样遵守 ZAB 协议的服务器启动后并加人到集群中时,如果此时集群中已经存在一个 Leader 服务器在负责进行消息广播,那么新加入的服务器就会自觉地进人数据恢复模式,找到 Leader 所在的服务器,并与其进行数据同步,然后一起参与到消息广播流程中去。

正如之前介绍中所说的,ZooKeeper 设计成只允许唯一的一个 Leader 服务器来进行事务请求的处理。Leader 服务器在接收到客户端的事务请求后,会生成对应的事务提案并发起一轮广播协议,而如果集群中的其他机器接收到客户端的事务请求,那么这些非 Leader 服务器会首先将这个事务请求转发给 Leader 服务器。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档