继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第二天 ZooKeeper选举

一个菜鸟呀
关注TA
已关注
手记 2
粉丝 0
获赞 2

课程名称

探秘 MySQL 多版本并发控制原理

课程章节

第八章 选举流程

主讲老师

城南大师兄

学习内容:

选举信息

服务器角色概览

图片描述

Leader

一个Zookeeper集群同一时间只有一个Leader。所有的写操作必须要通过Leader完成,再由Leader将写操作广播给其他服务器

Follower

一个Zookeeper集群可以存在多个Follower。Follower可直接处理并返回客户端的读请求,同时会将写请求转发给Leader处理,并且负责在Leader处理写请求时对请求进行投票

Observer

功能与Follower类似,但是无投票权

服务器状态信息

图片描述

LOOKING

寻找Leader状态。当服务器处于该状态时,他会认为当前集群中没有Leader,因此需要进入Leader状态

FOLLOWER

跟随者状态,表明当前服务器角色是Follower

LEADING

领导者状态,表明当前服务器角色是Leader

OBSERVING

观察者状态,表明当前服务器角色是Observer

投票信息

leader

被选举Leader的sid

zxid

被选举Leader的事务id

sid

当前服务器的sid

electionEpoch

当前投票的轮次

peerEpoch

当前服务器的Epoch

选票PK

优先级Epoch > Zxid > Sid

选票终止条件

当某一选票数占集群中参与竞选节点(除observer外)数量的一半以上,选举结束

选举流程

图片描述

选票初始化

服务器会先初始化自己的选举轮次 logicaclock ++,

广播选票

然后将自己的选票广播,并且从获取一张选票

获取选票

获取选票的state,如果是locking的状态

判断选票选举轮次,如果轮次相等,则进入选票pk环节

将获胜的选票广播

##### 获取的选票是leading或Following

验证选票

看投票的是否到达选举终止条件

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP