05_单机版服务端启动
2021-04-13 23:01:16 0 举报
单机版服务端启动
作者其他创作
大纲/内容
提交请求ZookeeperServer.submitRequest()
ZookeeperServer.processPacket(),构造出Request
创建服务器实例new ZookeeperServer()
到这里时预启动阶段后面的都是初始化阶段
开始运行
从Socket中读取数据
解析zoo.cfg配置文件
开始处理请求
QuorumPeerMain开始启动
判断条件就是配置文件中的servers的数量
是
NIOServerCnxn.doIO()
已经建立连接则读取其他请求
单机?
创建网络连接工厂:ServerCnxnFactory
1、解析配置文件
NIOServerCnxnFactory.startup()
启动一个Zookeeper的Thread
读取数据NIOServerCnxn.resdPayload()
放入队列中,等待请求处理器处理
第一次连接
2、判断单机还是集群
不是第一次连接
调用start()方法
启动
构造出OpCode.createSession的Request
开始处理读写请求
LinkedBlockingQueue类型
如果连接没有初始化,读取ConnectRequest
QuorumPeerConfig:解析配置文件
submittedRequests队列
0 条评论
下一页