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数据

  • 相关阅读:
    HTML5中的canvas
    预解释
    asp.net中的CheckBox控件的使用
    jQuery 效果
    常用的 jQuery 事件
    轮播图
    迭代器与生成器
    js对象拷贝
    事件循环、同步异步、宏任务微任务
    Vue 的 keep-alive 组件缓存
  • 原文地址:https://www.cnblogs.com/wl889490/p/12907410.html
Copyright © 2011-2022 走看看