本文主要是记录自己在学习zookeeper源码时候的相关内容,主要研究了从zk启动,到完成leader选举的过程。重点是学习leader选举的过程,想配置文件读取这种只是做了大概的了解以及记录
源码的版本是 3.6.1
Quorum是一种分布式协议,在有N个节点的时候,如果某个提议被超过M个节点认可,则任务该提议通过
目录 (点击标题可跳转)
ZK创建节点
主要介绍ZK的节点类型
QuorumPeerMain
ZK的启动入口,根据配置的类型不同,进行集群或者单机的启动
ZooKeeperServer
单机节点ZK的启动
QuorumPeer
集群情况下,节点的启动入口
QuorumStats
存储节点的状态
QuorumVerifer
Quorum的验证器,用来验证是否某个请求是否完成了过半的认可,主要用在leader选举过程中
Zxid
Zookeeper中事务的id
ServerCnxnFactory
zk中的网络连接相关
QuorumCnxManager
负责节点之间的相关网络通信
QuorumPeerConfig
从配置文件中读取节点的相关配置信息,以及返回一个Quorum的验证器
FastLeaderElection
快速leader选举算法,zk里面默认的选举算法
SyncedLearnerTracker
选举时候的追踪器,用来判断当前leader的选举是否结束
Vote
选举时候的相关投票信息