前言
详细的学习一下Zookeeper启动流程。
启动流程图
分析
写一个简单类用来测试
ZK创建过程
- connectString:连接的字符串,当集群环境下,支持配置多个用逗号分开,还允许设置初始登录目录(后面的node1)。
比如localhost:2181,localhost:2182,localhost:2183/node1 - sessionTimeout:会话的超时时间
- watcher:监听器
- WatchManager:客户端存放watch的地方,有图有真相:
- ConnectStringParser:解析连接字符串,解析为登录地址+连接zk服务地址
- StaticHostProvider:存放zk服务地址
- ClientCnxn:🐖角,客户端与服务端连接对象。有图有真相:
ClientCnxn创建过程
- zookeeper:zk客户端连接对象
- ClientCnxnSocket:socket对象
- sendThread:
- eventThread: