Zookeeper核心之 实现细节【Follower的请求处理流程】

Follower节点处理用户的读写请求

代码跟踪一下:

Zookeeper核心之 实现细节【Follower的请求处理流程】

上面是动图展示:如果速度更不上可以看下面的代码定位截图

Zookeeper核心之 实现细节【Follower的请求处理流程】
Zookeeper核心之 实现细节【Follower的请求处理流程】
Zookeeper核心之 实现细节【Follower的请求处理流程】
Zookeeper核心之 实现细节【Follower的请求处理流程】
Zookeeper核心之 实现细节【Follower的请求处理流程】
Zookeeper核心之 实现细节【Follower的请求处理流程】
Zookeeper核心之 实现细节【Follower的请求处理流程】
定位到Follower请求处理核心代码后,通过这个方法画出如下执行细节。
Zookeeper核心之 实现细节【Follower的请求处理流程】

请求处理的时序图:
Zookeeper核心之 实现细节【Follower的请求处理流程】
这里的每一个责任链上的处理器*.Processor都是一个Thread类(参考下类图可以知道)。举例如下,其他的一样的都继承Thread,执行时start即可
Zookeeper核心之 实现细节【Follower的请求处理流程】

源码阅读顺序: 基本概念->基本原理->核心类与接口->画原理图->画时序图、画类图。

【看源码基础】好多开源代码都会带有输出日志,可以从程序启动console入手
Zookeeper核心之 实现细节【Follower的请求处理流程】