zookeeper服务端主要负责与客户端进行交互,接收客户端命令,在服务端执行命令并将结果反馈给用户。主要分为一下三层:
服务端启动模块主要负责解析配置文件,启动服务器监听并执行zookeeper命令。
类图

QuorumPeerMain
QuorumPeerMain是服务端主程序,主要功能是解析配置文件,启动zookeeper服务。内部使用QuorumPeerConfig来解析配置文件;使用QuorumPeer来解析命令;使用QuorumPeer来启动zookeeper服务。
QuorumPeerConfig
解析properties配置文件zoo.cfg,主要获取一下信息:
| 配置 | 说明 |
| dataDir | 数据存放路径 |
| dataLogDir | 日志路径 |
| clientPort | |
| clientPortAddress | |
| tickTime | |
| maxClientCnxns | |
| minSessionTimeout | |
| maxSessionTimeout | |
| initLimit | |
| syncLimit | |
| electionAlg | |
| peerType | |
| HashMap<Long,QuorumServer> servers | |
| HashMap<Long, Long> serverGroup | |
| HashMap<Long, Long> serverWeight | |
| serverId |
QuorumPeer
核心执行模块,详见zookeeper源码之服务端核心执行模块。