raft一致性算法
2024-06-03 本文已影响0人
M_lear
raft算法保证集群元数据的一致性。
保证cap中的cp,当发生严重的网络分区后,放弃可用性。
raft算法流程:
所有跟随者(follower)有一个随机超时时间接收leader的心跳。
如果超时未收到心跳,就变成候选者(candidate),并发起投票。
每个跟随者只会给第一个向自己请求投票的候选者投票。
当候选者获取到超过半数的投票就会成为leader。
集群中只有leader能处理客户端的写请求(元数据变更),并将写请求同步给所有跟随者。当收到超过一半跟随者的写入确认后(加上leader自己就超过一半了),leader回复客户端写入成功。