Zookeeper相关
文章平均质量分 95
Armyyyyy丶
知其然知其所以然。
展开
-
Zookeeper ZAB协议中FLE选举通信流程
文章将着重介绍ZAB协议第一阶段的FLE算法核心流程,最后将分析集群添加Follower和Observer等问题的运行流程和注意点。原创 2022-07-06 15:47:51 · 646 阅读 · 0 评论 -
(十六)Zookeeper原理源码分析之Watcher监听实现原理及关键源码解析
本篇将会从三点来解析Watcher的实现,1. 触发事件处理对象及时机;2. 触发的事件类型;3. 如何触发事件及原理原创 2022-03-10 18:00:02 · 2374 阅读 · 0 评论 -
(十五)Zookeeper原理源码分析之数据日志文件归档
本篇将会从三点出发分析ZK的日志归档,顺便扩展一下相关的逻辑1. 介绍两种日志文件的作用和不同点;2. 分析两种日志文件序列化和反序列化的时机(从无到有,重启读取);3. 两种日志文件的清理时机。原创 2022-03-10 11:09:01 · 2594 阅读 · 0 评论 -
(十四)Zookeeper原理源码分析之树形数据结构
ZK的数据结构是什么?内部是怎样构成的?且数据是如何动态变化及满足ZK的高性能查询的?本篇将会做个简单的归纳,原创 2022-03-07 20:13:20 · 2148 阅读 · 2 评论 -
(十三)Zookeeper原理源码分析之集群数据同步(广播模式)建立通信连接原理源码分析
1.前话在前面的文章已经分析过了ZK集群数据同步(广播模式)建立通信连接的流程了,本次文章便分析一下建立通信连接的源码层面逻辑。注:本篇基于ZK版本3.4.8分析的。2.建立通信相关角色及流程图数据同步建立通信的流程可以看成是古代附属王朝向中央王朝进行朝贡的流程,即各个Follower主动向Leader发送连接请求,Leader接收到各个Follower机器的请求后生成对应的处理器,这些处理器可以看成是中央王朝派遣的接待使。当然这中间肯定是要经过一系列的逻辑确定Leader机器是否是真正合格原创 2021-04-16 17:11:17 · 545 阅读 · 0 评论 -
(十二)Zookeeper原理源码分析之集群数据同步(广播模式)流程原理分析
目录1.前话2.Leader机器与Follower机器建立通信2.1 相关角色及交互关系2.2 建立通信交互流程图3.Leader接收到客户端的Request请求3.1 Leader机器RequestProcessor链3.2 Leader接收Request请求并同步数据4.Follower接收到客户端的Request请求4.1 Follower机器RequestProcessor链4.2 Follower接收Request请求并通过Leader同步数据5.ZK集原创 2021-04-13 17:41:20 · 560 阅读 · 0 评论 -
(十一)Zookeeper原理源码分析之FLE(FastLeaderElection)算法集群选举原理流程源码解析
目录1.前话2.源码分析2.1 FastLeaderElection选举发送通知2.2 通信对的SendWorker对象监听集合并发送消息2.3 通信对的RecvWorker对象接收消息2.4 WorkerReceiver处理通信对接收到的消息2.5 FastLeaderElection对象处理集群响应消息2.6 QuorumPeer处理选举结果1.前话前面一篇已经分析过了FLE算法各个机器间创建通信结构的流程源码,即分析原理流程的时候各个机器是可以正常的发送及接收消原创 2021-03-31 11:12:07 · 399 阅读 · 4 评论 -
(十)Zookeeper原理源码分析之FLE(FastLeaderElection)算法集群构建集群内部通信对源码解析
目录1.前话2.源码分析2.1 QuorumPeer对象发起投票2.2 FastLeaderElection选举发送通知2.3 WorkerSender选择机器并发送通知2.4 QuorumCnxManager连接机器并发送消息2.5 Listener监听Socket连接1.前话在前面一篇已经分析过了FLE的原理流程以及通信结构,接下来便详细分析一下ZK集群在建立通信结构源码层面的操作流程,在进行接下来的源码通信流程前需要对这个流程有一个大概的认识,否则很容易分析到一半便原创 2021-03-27 22:56:09 · 438 阅读 · 0 评论 -
(九)Zookeeper原理源码分析之FLE(FastLeaderElection)算法集群选举通信原理及流程结构
目录一、集群通信结构及流程1.前话2.集群通信结构3.集群通信流程3.1 创建通信模块流程3.2 选举通信流程一、集群通信结构及流程1.前话上一篇说明了ZK集群的基本结构和重要组件,分析了在ZK集群启动时哪些重要的组件在起作用,这一篇将会续着上一篇往下开始分析ZK集群选举流程,来分析选举细节、选举流程、机器间如何完成交互通信的以及启动流程中的那些组件在其中起到何种作用。简单来说,便是分析上篇文章说的五个要点中的第二个和第三个要点。至于ZK集群的数据同步放到下篇文章再来分析原创 2021-03-17 23:44:48 · 406 阅读 · 0 评论 -
(八)Zookeeper原理源码分析之集群启动组件构成、启动流程源码分析和集群配置文件参数分析
目录一、集群组件构成1.前话2.集群基本组件3.启动流程分析二、配置文件参数分析1.配置文件实例2.参数解析表3.参数细节说明三、启动流程源码分析1.启动类QuorumPeerMain2.文件解析类QuorumPeerConfig3.日志文件处理器DatadirCleanupManager4.ZK集群对象QuorumPeer5.集群连接管理对象QuorumCnxManager一、集群组件构成1.前话从本篇开始便是有关ZK集群有关原理源码结构原创 2021-03-06 22:52:18 · 346 阅读 · 0 评论 -
(七)Zookeeper原理源码分析之心跳检测流程源码分析-单机Server服务端与Client客户端
目录一、源码解析1.Client发送ping请求1.1 SendThread心跳检测发起者1.2 ClientCnxnSocket套接字交互类2.Server端接收处理响应数据2.1 NIOServerCnxnFactory接收NIO请求2.2 连接对象NIOServerCnxn2.3 单机运行的ZooKeeperServer2.4 SessionTracker校验Session时间2.5 RequestProcessor请求处理链2.6 NIOServerCnx原创 2021-01-27 17:25:39 · 1834 阅读 · 0 评论 -
(六)Zookeeper原理源码分析之心跳检测流程及Session时间参数解析-单机Server服务端与Client客户端
目录一、交互重要组件及流程1.前话2.交互流程2.1 Client端发起连接2.2 Server接收处理及响应2.3 Client端接收Server端响应二、Session时间参数解析1.ZK服务器配置2.SessionTracker计算清除失效时间间隔3.SessionTracker具体的Session清除时间4.Client端Session相关属性及作用一、交互重要组件及流程1.前话上几篇文章分析过了ZK的单机架构以及大致的新建连接交互流程,本篇便原创 2021-01-27 17:18:38 · 4971 阅读 · 6 评论 -
(五)Zookeeper原理源码分析之新建连接交互流程源码分析-单机Server服务端与Client客户端
目录一、重要源码分析1.Client端发起连接1.1 ZooKeeper入口类1.2 ClientCnxn连接交互类1.3 SendThread发送连接请求1.4 ClientCnxnSocket套接字交互类2.Server端接收处理响应数据2.1 NIOServerCnxnFactory接收NIO请求2.2 连接对象NIOServerCnxn2.3 单机运行的ZooKeeperServer2.4 session追踪类SessionTracker2.5 Req原创 2021-01-14 20:16:16 · 687 阅读 · 0 评论 -
(四)Zookeeper原理源码分析之新建连接交互流程分析-单机Server服务端与Client客户端
目录一、交互重要组件及流程1.前话2.交互流程2.1 Client端发起连接2.2 Server接收处理及响应2.3 Client端接收Server端响应二、重要源码分析一、交互重要组件及流程1.前话上一篇文章分析过ZK服务端的重要组件以及单机情况下的启动流程,了解了ZK的基本组成。如有兴趣的可以直接跳转至(二)Zookeeper原理源码分析之单机Server服务端组件架构启动流程分析和(三)Zookeeper原理源码分析之Client客户端重要组件架构组成。对于原创 2021-01-14 20:01:44 · 470 阅读 · 0 评论 -
(三)Zookeeper原理源码分析之Client客户端重要组件架构组成
目录一、Client客户端架构组件1.前话2.基本组件2.1 ClientCnxn及内部类2.2 信息载体类Packet2.3 Watcher之监听组件3.主要组件交互一、Client客户端架构组件1.前话第二篇介绍了Server服务端的重要组件架构以及启动流程,感兴趣的可以跳至(二)Zookeeper原理源码分析之单机Server服务端组件架构启动流程分析观看。这一篇要介绍的是ZK的Client客户端重要架构组件,这个部分是我们平时开发连接ZK用的最多的,不管是原创 2020-12-18 11:31:41 · 440 阅读 · 2 评论 -
(二)Zookeeper原理源码分析之单机Server服务端组件架构启动流程分析
目录一、Server服务端架构组件1.前话2.基本组件2.1 RequestProcessor2.2 Record2.3 DataTree及DataNode监听2.4 NIO的ServerCnxn组件3.启动流程二、启动流程源码简析1.入口启动类ZooKeeperServerMain2.解析配置类ServerConfig3.NIOServerCnxnFactory设置主要启动组件4.单机Server类ZooKeeperServer5.ZKDatabas原创 2020-12-01 14:24:24 · 638 阅读 · 3 评论 -
(一)Zookeeper原理源码分析之简介功能介绍
目录一、Zookeeper出现背景二、Zookeeper基本架构1.数据模型2.系统模型三、Zookeeper提供的功能1.命名服务(NameService)2.配置管理(Configuration)3.集群管理(GroupMembers)4.分布式锁四、基本概念及工作原理1.角色2.工作原理2.1.选主流程2.2.同步流程2.3.主要功能2.4.client和follower之间的通信一、Zookeeper出现背景加入存在一个服务器集原创 2020-11-18 17:07:05 · 433 阅读 · 0 评论