IOTXING

记录技术学习之路

0%

zookeeper源码学习-整体流程

本文主要是记录自己在学习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

选举时候的相关投票信息