consul集群角色选举Raft算法
2023年1月15日
consul 集群角色选举 Raft 算法
Raft 算法
- 解决了分布式中领导选举和一致性问题
- 比较出名的共识算法,比如
redis
哨兵模式和consul
重要因素
- 任期机制,
raft
是终身任期的,只要服务没有问题,被选择的领导者节点一直都是领导者 - 心跳机制,它决定领导者是否能有效的和跟随者通信
- 随机的选举超时时间
- 先到先得
- 过半投票机制,收到过半的投票才能算领导者
角色
Follower
追随者,接受领导者发送的消息,当心跳超时时,主动推荐自己为候选人Candidate
候选人,发送rpc
消息,让其他节点投票给自己,票数过半时,成为领导者Leader
领导者,向其他节点发送心跳,只要心跳不超时一直为领导者
这里有一个动画,可以帮助我们进行理解。
Loading...