没什么,搞不明白别打我就行,初学者如有问题请及时指正!
在上一篇文章我们有介绍3种server角色:Leader、Follower以及Observer(不参加选举),所以只有Leader和Follower会参加选举,那么都什么时候会出发选举呢?
- 服务器初始化启动
- 服务运行期间无法和leader保持连接
一、选举流程
假设集群中有5个服务器
选举过程分为两种:
1.全新集群选举
a.server1 启动
触发一次选举,server1投给自己一票,但是总共5台服务器未达到半数3台,所以选举无法完成。
投票结果:server1 :1票
状态:server1:LOOKING
b.server2 启动 触发选举,server1和2分别投自己一票,但是server1发现2的id比自己大,就更改选票投给server2,此时未达半数,还是LOOKING状态
投票结果:server1 :0票 server2 :2票
状态:server1:LOOKING server2:LOOKING
c.server3启动