06_集群版服务器启动
2021-04-13 23:01:58 0 举报
集群版服务器启动
作者其他创作
大纲/内容
解析zoo.cfg配置文件
集群?
2、判断单机还是集群
LinkedBlockingQueue类型
调用start()方法
判断条件就是配置文件中的servers的数量
启动一个Zookeeper的Thread
不是第一次连接
ZookeepServer的托管者:ServerCnxnFactory、FileTxnSnapLog、ZKDatabase等核心组件注册到QuorumPeer中
初始化网络连接工厂:ServerCnxnFactory
负责管理Zookeeper所有会话记录以及DataTree和事务日志的存储
是
开始处理请求
开始处理读写请求
创建数据管理器:FileTxnSnapLog
开始运行
第一次连接
同时配置一些参数,如:服务器地址列表、Leader选举算法和会话超时时间限制
提交请求ZookeeperServer.submitRequest()
读取数据NIOServerCnxn.resdPayload()
QuorumPeerConfig:解析配置文件
放入队列中,等待请求处理器处理
已经建立连接则读取其他请求
QuorumPeerMain开始启动
1、解析配置文件
ZookeeperServer.processPacket(),构造出Request
NIOServerCnxnFactory.startup()
构造出OpCode.createSession的Request
创建QuorumPeer实例:QuorumPeer
创建内存数据库:ZKDatabase
submittedRequests队列
启动线程
如果连接没有初始化,读取ConnectRequest
NIOServerCnxn.doIO()
从Socket中读取数据
0 条评论
下一页