ZooKeeper
文章平均质量分 95
介绍ZooKeeper相关的重要知识点
二仙桥臧克家
Fvv
展开
-
ZooKeeper(三)客户端服务端会话空闲超时管理分桶策略源码分析
客户端连接源码分析ZKClient 客户端,Curator 客户端先下结论:Client 要创建一个连接,其首先会在本地创建一个 ZooKeeper 对象,用于表示其所连接上的 Server。连接成功后,该连接的各种临时性数据会被初始化到 zk 对象中。连接关闭后,这个代表 Server 的 zk 对象会被删除。我们知道常用的ZK客户端技术有ZKClient 客户端,Curator 客户端,而客户端在连接ZK Server的时候,会配置集群信息,而连接集群中具体哪一台服务器,采用轮询的方式,原创 2021-07-25 21:51:06 · 567 阅读 · 2 评论 -
ZooKeeper Leader选举机制源码分析(二)选举核心方法 lookForLeader()
选举核心方法 lookForLeader() 业务逻辑分析知道了选举相关的重要类及成员变量的作用以后,接下来我们开始分析真正执行选举逻辑的方法lookForLeader():1) 选举前的准备工作2) 将自己作为初始leader投出去3)循环交换投票直至选出Leader,循环交换投票过程中,根据收到的投票发送者状态不同,有下面三种情况:3.1) 发送者状态为LOOKING:3.1.1) 验证自己与大家的投票谁更适合做leader3.1.2) 判断本轮选举是否可以结束了3.2) 发送者状态为原创 2021-07-14 20:49:46 · 186 阅读 · 0 评论 -
ZooKeeper Leader选举机制源码分析(一)
选举算法源码中的总思路Zookeeper 的 Leader 选举类是 FastLeaderElection,该类是 ZAB 协议在 Leader 选举中的工程应用,所以直接找到该类对其进行分析。该类中的最为重要的方法为 lookForLeader(),是选举 Leader 的核心方法。该方法大体思路可以划分为以下几块:1.选举前的准备工作:选举前需要做一些准备工作,例如,创建选举对象、创建选举过程中需要用到的集合、初始化选举时限等。2.将自己作为初始化 Leader 投出去:在当前 Server 第一原创 2021-07-14 15:35:49 · 162 阅读 · 0 评论