1.raft协议
what:
raft是分布式的一致性协议(Consensus),其相对pasox更加简单。
用来保障servers上副本一致性的一种算法。
一致性协议是为了确保容错性,也就是即使系统中有一两个服务器当机,也不会影响其处理过程
how:
确保一致性的核心思想:
采用选举机制,参选者需要说服大多数选民(服务器)投票给他,一旦选定(leader)后,其他的server就是(follower)跟随leader操作,从而确保分布式的一致性。
https://www.cnblogs.com/sfzlstudy/p/16015450.
Raft 的数据一致性策略
Raft 协议强依赖 Leader 节点来确保集群数据一致性。即 client 发送过来的数据均先到达 Leader 节点,Leader 接收到数据后,先将数据标记为 uncommitted 状态,随后 Leader 开始向所有 Follower 复制数据并等待响应,在获得集群中大于 N/2 个 Follower 的已成功接收数据完毕的响应后,Leader 将数据的状态标记为 committed,随后向 client 发送数据已接收确认,在向 client 发送出已数据接收后,再向所有 Follower 节点发送通知表明该数据状态为committed。