zookeeper
文章平均质量分 54
Briant996
拒绝八股,实践出真知
展开
-
zookeeper源码(五)——客户端源码之客户端与服务端的通信过程二
上一篇说道了server端有链式调用来处理客户端请求,链式调用主要有三个处理器,分别是preRequestProcessor、syncRequestProcessor和filnalRequestProcessor,下面来看这三个处理器的内容。首先是preRequestProcessor,可以看到根据请求头的请求类型的不同,进入不同的CASE,这意味着命令是可定制化的。再讲述server之前,我们知道客户端已经和服务端建链,客户端此时的状态时是一直在sendThread的线程循环中,等待可发送的包来消费,原创 2021-06-26 15:17:13 · 297 阅读 · 3 评论 -
zookeeper源码(五)——客户端源码之客户端与服务端的通信过程
zookeeper原创 2021-06-22 20:56:19 · 299 阅读 · 2 评论 -
zookeeper源码(四)——客户端源码
xx原创 2021-06-21 11:52:33 · 479 阅读 · 0 评论 -
zookeeper源码分析(三)——zksever相关进程
上一篇讲到了zookeeper的网络处理模型,下面是启动函数的全部内容,包含zkserver相关以及其他线程活动,这里不做重点分析对象。 /** * Run from a ServerConfig. * @param config ServerConfig to use. * @throws IOException * @throws AdminServerException */ public void runFromConfig(Serv原创 2021-06-15 15:52:19 · 160 阅读 · 0 评论 -
zookeeper源码解析(二)
接着上一篇分析zookeeper单机启动类函数 /** * Run from a ServerConfig. * @param config ServerConfig to use. * @throws IOException * @throws AdminServerException */ public void runFromConfig(ServerConfig config) throws IOException, AdminServ原创 2021-06-14 17:40:36 · 319 阅读 · 0 评论 -
zookeeper3.6源码解析(一)
先看集群启动类protected void initializeAndRun(String[] args) throws ConfigException, IOException, AdminServerException { QuorumPeerConfig config = new QuorumPeerConfig(); if (args.length == 1) { config.parse(args[0]); //配置类,读取的参数为zo原创 2021-06-13 16:10:15 · 166 阅读 · 0 评论 -
go zookeeper包解析
zookeeper客户端连接对象Conn对象:负责客户端的连接,sessionTimeout 指服务端连接缓存的记录时间,在这个时间内ephemeral nodes(选举主的标志节点)和watches会被保留。connect方法会返回一个接受通道,在connect中会启动一个协程连接server,若成功会将一些事件值发送给接受通道,最后为了防止阻塞其他线程,会关闭接收通道。func Connect(servers []string, sessionTimeout time.Duratio.原创 2020-08-06 20:37:15 · 587 阅读 · 0 评论