目录
- QuorumVerifier
 - 数据结构
 - 构造函数
 - containsQuorum()
 
- SyncedLearnerTracker
 - 功能
 
QuorumVerifier
QuorumVerifier用于保存集群选举服务器信息以及选举期间判断投票是否过半,它的创建过程如下:
 
默认创建的是它的实现类QuorumMaj
数据结构

构造函数

从参数读取server.开头的信息创建QuorumServer,每一个QuorumServer代表集群中的一个服务器,它的数据结构以及构造函数如下:
 
containsQuorum()
QuorumVerifier中用于判断过半的方法是containsQuorum()
 
SyncedLearnerTracker
在选举Leader的时候,SyncedLearnerTracker用来判断推举的Leader是否拥有足够的票数,它的构造函数如下:
 
功能
在判断投票是否过半的时候会先调用addQuorumVerifier()方法添加QuorumVerifier,在收到投票信息的时候会调用addAck()方法保存投票,然后调用hasAllQuorums()判断是否获取过半的票数,如果过半则选举成功,否则继续选举投票。
 













![[C++] 迭代器失效示例](https://img-blog.csdnimg.cn/0722629f7a69499599216f0327597092.png)





