标签:一个 raft 多个 复制 ima 超过一半 mic and Raft算法
??Raft也是分布式一致性协议,主要是用来竞选主节点。
??有三种节点:Follower,Candidate和Leader。Leader会周期性的发送心跳给Follower。每个Follower都设置了一个随机的竞选超时时间,一般为150ms-300ms,如果在这个时间内没有收到Leader的心跳包,就会变成Candidate,进入竞选阶段。
??如果有多个Follower称为Candidate,并且所获得票数相同,那么就需要重新开始投票。例如下图中的Node B和Node D都获得两票,需要重新开始投票。
??由于每个节点设置的随机竞选超时时间不同,因此下一次再次出现多个candidate并获得同样票数的概率很低。
??来自客户端的修改都会被传入Leader。注意该修改还未被提交,只是写入日志中。
??Leader会把修改复制到所有Follower。
??Leader会等待大多数的Follower也进行了修改,然后才将修改提交。
??此时Leader会通知所有的Follower让它们也提交修改,此时所有的节点的值达成一致。
标签:一个 raft 多个 复制 ima 超过一半 mic and Raft算法
原文地址:https://www.cnblogs.com/yjxyy/p/11146036.html