zk主要的架构图
zk主要的包结构
如上图所示,zk大概涵盖了以下的包以及功能:
Admin包: 它里面只有一个继承了ZooKeeper类的ZooKeeperAdmin类,用以承担管理zk集群的任
务,例如重新注册集群
Cli包:接收并执行用户输入的各种命令
Client包: 主要是客户端连接的一些辅助类
Common包:公共工具类
jmx包:提供jmx监控服务
server包:server端
zookeeper类:用户和zk集群交互的接口
watcher类:监控znode
Clientcnxn类:客户端与server端的连接
我们在后续的分析中主要介绍以下几点:
1、用户如何通过zookeeper类交互
2、watcher如何监控znode
3、client如何和server连接
4、server如何运行
5、zk的三种选举算法