栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

Zookeeper-ZAB协议,角色,选举

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Zookeeper-ZAB协议,角色,选举

Zookeeper-ZAB协议

ZAB协议,并没有使用Paxos算法,而是使用一种称为Zookeeper Atomic Broadcat 原子 消息广播协议,它是一种专为为Zookeeper设计的一种支持崩溃恢复的原子广播协议。

Zookeeper实现了一种主备模式的系统架构来保持集群中各副本之间的数据的一致性。表现就是使用一个单一的主进程秋接收处理客户端的所有事务请求,并采用ZAB的原子广播协议,将服务器的数据的状态变更以事务 Proposal的形式广播到所有的副本进程中,ZAB协议的主备模型保证了同一时候集群中只能够有一个主进程来广播服务器的状态变更,因此很好的处理客户端大量的并发请求。但是,主进程在任何时候都有可能出现崩溃退出或者重启现象,因此ZAB协议还需要做到当前主进程出现异常情况的进修依旧正常工作。

ZAB核心

所有事务请求必须由一个全局唯一的服务器来协调处理,这个的服务器称为Leader服务器,余下的服务则称为Follower服务,Leader服务器负责将一个客户端事务请求转化成一个事务Proposal提议,并将该Proposal分发给集群中的所有Follower服务器,之后Leader服务器需要等待所有Follower服务器的反馈,一旦超过半数的Follower服务器时行正确的反馈后,那么Leader就会本地提交Commit,向所有Follower服务器分发Commit消息,要求其将前一个Proposal进行提交。

介绍

包括2种基本模式:崩溃恢复和消息广播

  1. 崩溃恢复

当整个服务启动过程中,或者是Leader服务器出现网络中断、宕机、崩溃退出或者重启响等异常服务,进入崩溃恢复模式,同时选举产生新的Leader服务器,当前 选举产生新的Leader服务器,
同时集群中已经有过半的机器与该Leader服务器完成了状态同步之后,ZAB协议就会退出恢复模式,其中,状态同步,就是数据同步,用来保证集群中过半机器能够和Leader的数据状态保持一致。

  1. 消息广播
    当前集群中有过半的机器与该Leader服务器完成了状态同步之后,那么进行消息广播模式,当一个同样遵守ZAB协议的服务器启动后加入集群中,如果此时集群中已经存在一个Leader服务器在负责进行消息广播,那么新加入的服务器就会自觉进入数据恢复模式:找到Leader所在的服务,并与其时行数据同步,然后一起参数到消息广播中。Zookeeper中只允许唯一的一个Leader服务器来时行事务请求处理。Leader服务器在接收到客户端事务请求后,会生成对象的事务提交并发起一轮广播协议,而如果集群中的其他机器收到客户的事务请求后,那么这个非Leader的服务器会首先将个事务转发给Leader服务器
消息广播


崩溃恢复







ZAB与Paxos的联系和区别

服务器的角色 Leader

Leader服务是Zookeeper集群工作的核心,

  1. 事务请求的唯一调度和处理者,保证集群事务焉得的顺序性
  2. 集群内部各服务器的调度者
请求处理链


从PreRequestProcessor到FinalRequestProcessor一共7个请求处理器组成了Leader服务器的请求处理链

Follower

Follower服务器是Zookeeper集群状态中的跟随者。

  1. 处理客户端非事务请求(读取数据),转发事务请求给Leader服务器
  2. 参与事务请求ProPosal投票
  3. 参与Leader选举投票
    和Leader一样,Follower 也采用了责任链组装的请求处理连接来处理每个客户端于请求,由于不需要对事务请求的投票处理,

Observer

服务器启动
  • 整体结构
Zookeeper服务器的启动,大致可以分为五个步骤
  1. 配置文件解析
  2. 初始化数据管理器
  3. 初始化网络I/O管理器
  4. 数据恢复
  5. 对外服务
单机启动流程


初始化

集群服务器启动



Leader选举

Leader和Follower启动期交互过程



Leader选举



服务器运行时候的Leader选举

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

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

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