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