consul集群角色选举Raft算法

wxvirus2023年1月15日
小于 1 分钟

consul 集群角色选举 Raft 算法

Raft 算法

  • 解决了分布式中领导选举和一致性问题
  • 比较出名的共识算法,比如redis哨兵模式和consul

重要因素

  • 任期机制,raft是终身任期的,只要服务没有问题,被选择的领导者节点一直都是领导者
  • 心跳机制,它决定领导者是否能有效的和跟随者通信
  • 随机的选举超时时间
  • 先到先得
  • 过半投票机制,收到过半的投票才能算领导者

角色

  • Follower追随者,接受领导者发送的消息,当心跳超时时,主动推荐自己为候选人
  • Candidate候选人,发送rpc消息,让其他节点投票给自己,票数过半时,成为领导者
  • Leader领导者,向其他节点发送心跳,只要心跳不超时一直为领导者

raft 官网地址open in new window

这里有一个动画,可以帮助我们进行理解。

Loading...