zoukankan      html  css  js  c++  java
  • zookeeper写数据流程

    1.zookeeper中任意节点收到写请求,如果是follower节点,则会把写请求转发给leader,如果是leader节点就直接进行下一步。

    2.leader生成一个新的事务并为这个事务生成一个唯一的ZXID

    3.leader将这个事务发送给所有的follows节点

    4.follower节点将收到的事务请求加入到历史队列(history queue)中,并返回ack确认包.

    5.当leader收到半数以上的follower的ack消息,leader就进行写入操作,并且发送给所有follower 进行这个写request 持久化操作的commit(也带有这个zxid),当follower接收到commit还会进行一次check(队列中zxid和commit中的zxid比较),正确则进行写入操作,否则去sync leader数据.

     即leader接受到写请求(标记为zxid)就会发送proposal给所有follower,follower接受到请求先把zxid写入到队列中并返回ack确认包,当leader收到超过半数follower回传的ack后就进行写入操作,并且发送给所有follower 进行这个写request 持久化操作的commit(也带有这个zxid),当follower接收到commit还会进行一次check(队列中zxid和commit中的zxid比较),正确则进行写入操作,否则去sync leader数据

  • 相关阅读:
    给video添加自定义进度条
    高德地图鼠标获取经纬度
    高德地图行政区域划分
    面试经验之谈
    Hybrid App 开发模式
    运维 08 常用服务安装部署
    运维 07 Linux系统基础优化及常用命令
    运维 06 vim与程序员
    运维 05 Shell基本命令
    运维 04 Shell基础命令(二)
  • 原文地址:https://www.cnblogs.com/wl889490/p/12907410.html
Copyright © 2011-2022 走看看