站长工具综合权重查询,腾讯域名,船山网站建设,怎么制作网站镜像ZooKeeper 集群中的角色简介#xff1a;
Leader#xff1a; 负责发起投票和决议#xff0c;更新系统状态Follower#xff1a;用于接收客户端请求并向客户端返回结果#xff0c;在选主过程中参与投票Observer#xff1a; 可以接收客户端连接#xff0c;将写请求转发给 L…ZooKeeper 集群中的角色简介
Leader 负责发起投票和决议更新系统状态Follower用于接收客户端请求并向客户端返回结果在选主过程中参与投票Observer 可以接收客户端连接将写请求转发给 Leader 节点但不会参与 Leader 发起的投票也不会被选举为 LeaderObserver 的目的是为了扩展系统提高读取速度
一个 ZooKeeper 集群中同一时间只有一个 Leader其他的都是 Follower 或 Observer
一、Leader 的工作流程
Leader 的主要功能有三个
恢复数据维持与 LearnerFollower 和 Observer 的心跳接收 Learner 的请求并判断 Learner 的请求消息类型
Learner 的消息类型
PING 消息Leaner 的心跳信息REQUEST 消息Follower 发送的提议信息包括读写请求ACK 消息Follower 对提议的回复超过半数的 Follower 通过则 Commit 该提议REVALIDATE 消息用来延长 SESSION 有效时间
根据不同的消息类型进行不同的处理
二、Follower 的工作流程
Follower 的主要功能有四个
向 Leader 发送请求PING 消息、REQUEST 消息、ACK 消息、REVALIDATE 消息接收 Leader 消息并进行处理接收 Client 的请求如果为写请求则转发给 Leader返回 Client 结果
Follower 循环处理如下几种来自 Leader 的消息
PING 消息心跳消息PROPOSAL 消息Leader 发起的提案要求 Follower 投票COMMIT 消息服务器端最新一次提案的信息UPTODATE 消息表明此 Follower 同步已完成REVALDATA 消息根据 Leader 的 REVALDATE 结果确定关闭等待 revalidate 的 session 还是允许其接收消息SYNC 消息返回 SYNC 结果到客户端这个消息最初由客户端发起用来强制得到最新的更新
三、Observer 的工作流程
Observer 的工作流程和 Follower 的唯一不同就是 Observer 不会参加 Leader 发起的投票也不会被选举为 Leader此处不再赘述。