范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

直观理解Zookeeper分布式一致性协议ZAB

  ZAB是Zookeeper使用的分布式一致性协议,英文全称是:Zookeeper Atomic Broadcast,因此ZAB也称之为Zookeeper原子广播协议。在解决分布式一致性方面,Zookeeper并没有使用Paxos,而是采用了ZAB协议。基于ZAB协议,Zookeeper实现一种主备模式的系统架构来保持集群中主备副本之间数据的一致性。ZAB协议包括两种基本模式:消息广播(Message Broadcasting)和崩溃恢复(Leader Activation)。下面来详细介绍这两种基本模式的实现过程。 消息广播
  消息广播是Zookeeper用来保证写入事务一致性的方法,在Zookeeper集群中,存在以下三种角色的节点:
  Leader: Zookeeper集群的核心角色,在集群启动或崩溃恢复中通过Follower参与选举产生,为客户端提供读写服务,并对事务请求进行处理。
  Follower: Zookeeper集群的核心角色,在集群启动或崩溃恢复中参加选举,没有被选上就是这个角色,为客户端提供读取服务,也就是处理非事务请求,Follower不能处理事务请求,对于收到的事务请求会转发给Leader。
  Observer: 观察者角色,不参加选举,为客户端提供读取服务,处理非事务请求,对于收到的事务请求会转发给Leader。使用Observer的目的是为了扩展系统,提高读取性能。
    下面通过几张图对ZAB的消息广播过程进行简单的介绍。 Zookeeper各节点会接收来自客户端的请求,如果是非事务请求,各节点自行进行相应的处理。若接收到的是客户端的事务请求,如果当前节点是Follower则将该请求转发给当前集群中的Leader节点进行处理。
  Leader接收到事务处理的请求后,将向所有的Follower节点发出Proposal提议,并等待各Follower的Ack反馈。在广播事务之前Leader服务器会先给这个事务分配一个全局单调递增的唯一ID,也就是事务ID(zxid),每一个事务必须按照zxid的先后顺序进行处理。而且Leader服务器会为每一个Follower分配一个单独的队列,然后将需要广播的事务放到队列中。
  各Follower节点对Leader节点的Proposal进行Ack反馈,Leader对接收到的Ack进行统计,如果超过半数Follower进行了Ack,此时进行下一步操作,否则之间向客户端进行事务请求失败的Response。
  如果Leader节点接收到了超过半数的Ack响应,此时Leader会向所有的Follower发出事务Commit的指令,同时自己也执行一次Commit,并向客户端进行事务请求成功的Response。
    Zookeeper的消息广播过程类似 2PC(Two Phase Commit),ZAB仅需要超过一半以上的Follower返回 Ack 信息就可以执行提交,大大减小了同步阻塞,提高了可用性。 崩溃恢复
  在Zookeeper集群启动、运行过程中,如果Leader出现崩溃、网络断开、服务停止或重启等异常情况,或集群中有新服务器加入时,ZAB会让当前集群快速进入崩溃恢复模式并选举出新的Leader节点,在此期间整个集群不对外提供任何读取服务。当产生了新的Leader后并集群中过半Follower完成了与Leader的状态同步,那么ZAB协议就会让Zookeeper集群从崩溃恢复模式转换成消息广播模式。崩溃恢复的目的就是保证当前Zookeeper集群快速选举出一个新的Leader并完成与其他Follower的状态同步,以便尽快进入消息广播模式对外提供服务。
  Zookeeper崩溃恢复的主要任务就是选举Leader(Leader Election),Leader选举分两个场景:一个是Zookeeper服务器启动时Leader选举,另一个是Zookeeper集群运行过程中Leader崩溃后的Leader选举。在详细介绍Leader选举过程之前,需要先介绍几个参数: myid : 服务器ID,这个是在安装Zookeeper时配置的,myid越大,该服务器在选举中被选为Leader的优先级会越大。 zxid:  事务ID,这个是由Zookeeper集群中的Leader节点进行Proposal时生成的全局唯一的事务ID,由于只有Leader才能进行Proposal,所以这个zxid很容易做到全局唯一且自增。因为Follower没有生成zxid的权限。zxid越大,表示当前节点上提交成功了最新的事务,这也是为什么在崩溃恢复的时候,需要优先考虑zxid的原因。 epoch:  投票轮次,每完成一次Leader选举的投票,当前Leader节点的epoch会增加一次。在没有Leader时,本轮此的epoch会保持不变。
  另外在选举的过程中,每个节点的当前状态会在以下几种状态之中进行转变。 LOOKING:  竞选状态。 FOLLOWING:  随从状态,同步Leader 状态,参与Leader选举的投票过程。 OBSERVING:  观察状态,同步Leader 状态,不参与Leader选举的投票过程。 LEADING:  领导者状态。 集群启动时的Leader选举
    假设现在存在一个由5个Zookeeper服务器组成的集群Sever1,Sever2,Sever3,Sever4和Sever5,集群的myid分别为:1, 2,3,4,5。依次按照myid递增的顺序进行启动。由于刚启动时zxid和epoch都为0,因此Leader选举的关键因素成了myid。 启动Sever1,此时整个集群中只有Sever1启动,Sever1无法与其他任何服务建立通信,立即进入LOOKING状态,此时Server1给自己投1票(上来都觉得自己可以做Leader),由于1不大于集群总数的一半,即2,此时Sever1保持LOOKING状态。 启动Sever2,此时Sever2与Server1建立通信,Sever1和Sever2互相交换投票信息,Server1投票的myid为1,Server2投票的myid为2,此时选取myid最大的,因此Sever1的投票会变成2,但是由于目前投票Server2的服务器数量为2台,小于集群总数的一半2,因此Sever1和Sever2继续保持LOOKING状态。 启动Sever3,此时三台服务器之间建立了通信,Server3进入LOOKING状态,并与前两台服务器交换投票信息,Server1和Server2的投票信息为2,Server3投票自己,即myid为3,这个时候选择myid最大的作为Leader。此时集群中投票3的服务器数量变成了3台,此时3>2,Sever3立刻变成LEADING状态,Sever1和Sever2变成FOLLOWING状态。 启动Sever4,Sever4进入LOOKING状态并与前三台服务器建立通信,由于集群中已经存在LEADING状态的节点,因此,Sever4立刻变为FOLLOWING状态,此时Sever3依旧处于LEADING状态。
  5.动Sever5,Sever5与Sever4一样,在与其他服务器建立通信后会立刻变为FOLLOWING状态,此时Sever3依旧处于LEADING状态。
  最终整个Zookeeper集群中,Server3成为Leader,Server1,Server2,Server4和Server5成为Follower,最终Server3的epoch加一。 Leader崩溃时的Leader选举
    在Zookeeper集群刚启动的时候,zxid和epoch并不参与群首选举。但是如果Zookeeper集群在运行了一段时间之后崩溃了,那么epoch和zxid在Leader选举中的重要性将大于myid。重要性的排序为:epoch>zxid>myid。当某一个Follower与Leader失去通信的时候,就会进入Leader选举,此时Follower会跟集群中的其他节点进行通信,但此时会存在两种情况: Follower与Leader失去通信,但此时集群中的Follower并未崩溃,且与其他Follower保持正常通信。此时当该Follower与其他Follower进行通信时,其他Follower会告诉他,老大还活着,这个时候,Follower仅需要与Leader建立通信即可。 Leader真的崩溃了,此时集群中所有节点之间会进行通信,当得知老大挂了之后,每个节点都会开启争老大模式,各自会将当前节点最新的epoch,zxid和myid发送出来,参与投票,此时各节点之间会参照epoch>zxid>myid进行Leader选举,最后投票数超过集群数量一般的节点会成为新的Leader。
    这种崩溃后的Leader选举机制也很好理解,如果Leader挂了,优先选择集群中最后做过(epoch)Leader的节点为新的Leader节点,其次选取有最新事务提交的节点(zxid)为Leader,最后才按默认的最大机器编号(myid)进行投票。

数据告诉你,手动挡已逐渐被淘汰!现在新能源汽车大行其道,购买的消费者越来越多。那么问题来了,现在还值得购买手动挡的车型吗?因为新能源汽车特殊的关系,压根就没有手动挡,理论上就可以看成是自动挡车型。记得每当一家车企智能手机充电排行榜realme充电速度最快今天让我们了解一下上半年主要的智能手机充电速度排行榜,看看你的机型情况如何?1realmeGTNeo3,充电时间14分钟。2红魔7SPro充电时间17分钟。3黑鲨5Pro充电时间1离谱!山东队放弃哈德森,签下场均226高龄小外,王晗失算时间来到7月下旬,距离CBA下赛季球员注册期时间不多了,各支球队抓紧推进阵容调整,续约和引援的消息越来越多。目前有篮球媒体人爆料,山东男篮签下了原天津队外援罗切斯特。之前在CBA更颜值与性能超纲了!OPPOA97真机图赏2K价位的实力派机型近日,OPPO悄然推出了一部新中端机A97。该机型也凭借着出色的外观和不俗的综合实力,在市场上获得了很多消费者的认可。那么,OPPOA97的真实实力和体验到底如何呢?下面,我们就结丰润达无线网桥明明有颜值却偏偏靠实力明明可以靠脸吃饭,却偏要靠实力这句话你一定不陌生吧,这句话说明了什么?颜值就是资本啊朋友们。在这个万物都看脸的时代,现在连无线网桥都要拼颜值啦。看看丰润达科技推出的新一代S400C荣耀全场景发布会举办,五大新品展现研发实力就在7月21日晚上,荣耀举办了智享生活荣耀相伴荣耀全场景新品发布会,带来了多款新品,进一步地展现出了自身的研发实力,同时也是让作为消费者的我们,感受到了满满的惊喜。并且,荣耀终端C顶级富婆李湘一顿早饭7000块,666平豪宅让大S都羡慕不已约会戴100万项链,做饭用6万烤箱,一顿早饭吃掉上千块,光伙食费一年就要上百万。昔日芒果一姐李湘的吃穿住行,豪华程度令人咋舌!近日李湘在社交平台高调晒出约会美照,价值100多万的宝人民日报金句,天花板级别151。我们终其一生,都在寻找两样东西一个是价值感,一个是归属感。价值感来源手被肯定,归属感来自于被爱。2。仰望星空与志存高远值得被点赞,而实事求是与脚踏实地同样不可或缺。只要用心走完女人的风水,都写在脸上王尔德有句话是这么说的只有肤浅的人才不以貌取人,世界的秘密在于表象,而非内里。人和人的交往,有的时候匆匆一别,有的时候坐而论之。时间的急促,往往让很多人失去了推心置腹的想法。人和人烦恼就是人的业古人云烦恼即菩提。烦恼就是人的业,人在不觉悟时,一切行为都是具足烦恼的,因为人的三业无法清净,在染污的状态下,一切都不在人的把握之中,而是受因缘法的摆布。比如说,当一个人爱另一个人还在过度焦虑?可能你只是处于悬浮状态最后的话很多时候,我们会沿着念头不自觉地想太多,是因为思想在一步步地吸引着我们,而且它大多会走向焦虑。这是人的本能,也是大脑的保护机制。因为在原始社会,外界确实充满着许多未知和危险
什么是你最想要的生活生命中值得我们追求的东西很多。如果一味纠缠在那些毫无结果的东西上,拼命地追求本该放弃的,本该苦苦追求的却又毫不足惜地放弃,到头换来的只是竹篮打水一场空。如果说执著是一种精神,那么,熬不下去的时候,请记住这3句话弗兰克尔说,外界的力量就算能剥夺我们拥有的一切东西,但它也无法剥夺我们精神的自由,以及心中的希望。是的,只要精神不倒,希望的灯火不灭,我们就可能超越一切苦难。01hr人生至暗时刻,唐杰忠主动与姜昆裂穴,逝世后儿女为争遗产对簿公堂点击关注我,每天都有名人故事带给您!2022年春节晚会,姜昆携手搭档戴志诚再次登上春晚舞台,引起了大众的热议。笔者一直认为,当年唐杰忠给姜昆捧哏时的作品更加让人印象深刻。作为唐杰忠武冈木货街雕花屋檐下,满街木飘香改造后的木货街民居。通讯员摄全媒体记者昌小英通讯员杨楚平夏建敏老街名片武冈古城始建于2200年前,分内外城。木货街历史文化街区位于外城西南侧,包括天宁街木货街寿佛寺巷3条街巷,全长一生一定要走一次的路!热娜局长带你走进G219这是一条一生一定要走一次的路,是一条独一无二的世界级景观大道,也是雄伟与秀美同在,人文与历史并存的国之大道,今天,就让我们跟着新疆文旅宣传推介人沙雅县文旅局局长热娜古丽,一起走进G为何男性不育越来越多?有希望治愈吗?逐一分析病因,大多能恢复受到中国传统思想的影响,新婚夫妻两尽快孕育新生命,才能为小家庭带来新的生命力。但很多夫妻都表示,备孕并没有想象中那么简单。很长时间里不断地承受期待和失望的情绪,让人心中有些沮丧。好为什么性教育这么难?今天,性教育的话题又一次引起热议。在丁香医生的微博,我们问了问大家,小时候家里是怎么回答我是从哪里来的这个问题的。垃圾桶里捡来的,仍然是高票答案。还有地里蹦出来的新奇说法。图片来源湿气是怎么来的?与喝水多有关吗?教你4个祛湿妙招生活当中很多女性存在湿气过重的问题,而且湿气特别难以根治,而且大部分人在看中医的时候,一般会判断为体内湿气过多。尤其是生活当中大部分女性属于寒性的体质,很多女性存在湿气过重的问题,李靓蕾再发长文,称公开爆料是迫不得已,不会接受赠与的房子李靓蕾跟王力宏的事情,在互联网上已经发酵了很长一段时间了。从一开始王力宏官方宣布离异,一直到李靓蕾逐渐爆料,短短时间内让事情快速的得到发酵,也让王力宏的高品质超级偶像人物完全坍塌,MacBook大面积缺货!苹果供应链调整,印度越南成扩产备选,17只概念股齐跌本文来源时代财经作者王婷图源pexels美东时间周六,外媒引述知情人士的消息称,苹果公司已告知一些代工制造商,希望扩大在中国以外地区的生产。5月23日,A股头部果链公司的股价集体下今年夏天,流行穿半身裙平底鞋!舒适好搭配,温柔又减龄对于很多小个子姐妹来说,高跟鞋会是最好的显高单品但在炎热的夏季,我们不仅要追求显高效果,还要追求舒适度,这时候高跟鞋就不是最好的选择了!推荐你多多尝试舒适度更高的平底鞋来搭配半身裙