一、leader选举过程
raft协议中,一个节点任一时刻处于以下三个状态之一:
- leader:主节点
- follower:从节点
- candidate:候选主节点
1、启动时选举:
有节点启动时都是follower状态,在一段时间内如果没有收到来自leader的心跳,从follower切换到candidate,发起选举。如果收到集群中大多数的票(含自己的一票)则切换到leader状态;如果发现其他节点比自己先成为了leader,则主动切换到follower。
2、运行时选举:
如果follower在election timeout内没有收到来自leader的心跳,(也许此时还没有选出leader,大家都在等;也许leader挂