Zookeeper(一)

  1. Zookeeper不单单是服务注册中心,它是一个分布式协调服务。最早是google开发出chubby服务于GFS系统,chubby又是基于poxos算法
  2. zookeeper通过ZAB(Zookeeper Atomic Broadcast )协议实现分布式数据一致性。
  3. ZAB分为:崩溃恢复和原子广播
    原子广播:
    1. leader 接收到消息请求后,将消息赋予一个全局唯一的64 位自增 id,叫:zxid,通过 zxid 的大小比较既可以实现因果有序这个特征,高32位是时钟周期epoch,低32位是自增序号
    2. leader 为每个 follower 准备了一个 FIFO 队列(通过 TCP 协议来实现,以实现了全局有序这一个特点)将带有 zxid 的消息作为一个提案(proposal)分发给所有的 follower
    3. 当 follower 接收到 proposal,先把 proposal 写到磁盘, 写入成功以后再向 leader 回复一个 ack
    4. 当 leader 接收到合法数量(超过半数节点,简称过半提交)的 ACK 后, leader 就会向这些 follower 发送 commit 命令,同时会 在本地 commit该消息
    5. 当 follower 收到消息的 commit 命令以后,会提交该消息
    6. observer不需要参与投票,只需要同步leader的数据
    崩溃恢复:
    当leader崩溃或者与过半的follower失去连接后,进入崩溃恢复模式。将进行 选举新的leader数据同步
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值