美文网首页
ZooKeeper 工作流程

ZooKeeper 工作流程

作者: 达微 | 来源:发表于2019-10-22 14:30 被阅读0次

    一、Zookeeper的角色

    Zookeeper主要有下面两种角色,领导者和学习者,其中学习者又包含跟随者和观察者。我们直接看图理解,我们直接看图理解,这是一个由多个server组成的集群,一个leader,多个follower,每个server保存一份数据副本,全局数据一致,分布式读写。

    image.png

    领导者(Leader),领导者负责进行投票的发起和决议,更新系统状态。学习者(Learner),跟随者(Follower)和观察者(Observer)。跟随者(Follower),Follower可以接收客户端的请求并返回结果,并参与主过程的投票。观察者(Observer),Observer可以接收客户端的请求,写请求会转发给Leader节点,但不参与投票,主要是扩展系统的读取速度。二、Zookeeper的工作流程

    image.png

    首先client向Follwer发出一个写的请求;Follwer会把请求发送给Leader;
    Leader接收到以后开始发起投票并通知Follwer进行投票;
    Follwer把投票结果发送给Leader;
    Leader将结果汇总后如果需要写入,则开始写入同时把写入操作通知给Leader,然后commit;
    Follwer把请求结果返回给client。通过上面的工作流程,我们可以看出Follower主要有以下四个功能,

    向Leader发送请求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息);
    接收Leader消息并进行处理;
    接收Client的请求,如果为写请求,发送给Leader进行投票;
    返回Client结果。
    综合看来,Zookeeper的工作流程还是挺清晰的,follower主要是转发请求、参与投票、返回投票结果;leader则主要是发起投票决议,更新系统状态

    相关文章

      网友评论

          本文标题:ZooKeeper 工作流程

          本文链接:https://www.haomeiwen.com/subject/qlyqvctx.html