![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ZooKeeper
pfjia
im开发工程师
展开
-
ZooKeeper源码分析-目录
背景目录总结参考背景 ZooKeeper是一款开源的分布式应用的分布式协调服务。它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。其特点如下:列表内容目录总结参考...原创 2018-06-23 20:40:47 · 7028 阅读 · 2 评论 -
Zookeeper-服务器端启动流程(单机模式)
背景介绍整体流程解析配置文件创建并启动历史文件清理器创建ZooKeeper数据管理器注册shutdownhandler启动Admin server创建并启动网络IO管理器启动Zookeeper恢复数据创建并启动secureCnxnFactory创建并启动ContainerManager参考背景介绍ZooKeeper可以以standalone,...原创 2018-06-23 20:41:16 · 3336 阅读 · 0 评论 -
Zookeeper-持久化
背景数据恢复持久化截断日志总结参考背景Zookeeper虽然是内存数据库,但其同时提供了持久化功能,通过快照和事务日志实现持久化.相关类如下:TxnLog:负责处理事务日志SnapShot:负责处理快照FileTxnSnapLog:组合TxnLog和SnapShot,是Zookeeper上层服务器和底层数据存储之间的对接层FileTxnSna...原创 2018-06-23 20:41:37 · 6837 阅读 · 0 评论 -
Zookeeper源码分析(一)-源码阅读环境搭建
背景fork源代码编译总结参考背景本文介绍如何在idea上搭建源码阅读环境,环境搭建成功后可以在源码上增加注释,便于学习并可供日后多次阅读fork源代码首先从github上forkapache/zookeeper到自己的远程仓库中从远程仓库中将代码git clone到本地注意,不要直接git clonezookeeper的源码,而要先将源码f...原创 2018-06-23 20:41:59 · 3192 阅读 · 0 评论 -
ZooKeeper-客户端连接ServerCnxn之NIOServerCnxn
背景处理read事件发生时机思路处理write事件总结参考背景ServerCnxn代表了一个客户端与一个server的连接,其有两种实现,分别是NIOServerCnxn和NettyServerCnxn,类图如下: 本文介绍ZooKeeper是如何通过NIOServerCnxn实现网络IO的.处理read事件发生时机当连接上有数据...原创 2018-06-25 12:19:20 · 5010 阅读 · 0 评论 -
Zookeeper-连接和会话的过期清理策略(ExpiryQueue)
背景简单的会话清理策略数据结构更新会话过期时间清理过期会话优缺点分桶策略具体实现改进updatepollremove连接和会话总结参考背景Zookeeper作为一个服务器,需要管理与客户端的连接和会话,如接受连接,网络IO,和过期清理等,此文章就介绍下Zookeeper的过期策略.注:目前网络上的资料介绍的都是会话的过期策略,在...原创 2018-06-25 14:36:53 · 3312 阅读 · 0 评论 -
Zookeeper-网络IO管理器ServerCnxnFactory
背景ServerCnxnFactoryNIOServerCnxnFactory启动accept thread处理请求NettyServerCnxnFactory总结参考背景Zookeeper作为一个服务器,自然要与客户端进行网络通信,如何高效的与客户端进行通信,让网络IO不成为ZooKeeper的瓶颈是ZooKeeper急需解决的问题,ZooKeepe...原创 2018-06-25 15:00:20 · 2591 阅读 · 0 评论 -
Zookeeper-会话管理器SessionTracker
背景实现总结参考背景Zookeeper中定义了SessionTracker接口用于管理Session实现由于将会话管理的实现代码抽象为ExpiryQueue,而ExpiryQueue的分析见:https://blog.csdn.net/jpf254/article/details/80800626SessionTrackerImpl实现了Sessio...原创 2018-06-25 17:20:28 · 1286 阅读 · 0 评论 -
Zookeeper-请求处理链
背景单机版初始化PrepRequestProcessor基本功能线程通信SyncRequestProcessor基本功能线程通信FinalRequestProcessor基本功能总结参考背景Zookeeper中使用责任链模式处理客户端提交的请求,本文介绍常用的RequestProcessor如何工作?各线程间如何通信?注:下文中使用事...原创 2018-06-25 17:21:23 · 810 阅读 · 0 评论