每日一博 | 一致性算法 - Raft 协议流程详解
- 引文 - 咱们上文整体的介绍了下Raft协议,Raft协议分区容忍的一致性协议的核心思想:一致性的保证不一定非要所有节点都保持一致,只要大多数节点更新了,对于整个分布式系统来说数据也是一致性的。Raft 协议将概念分解成:Leader election、Log replication、Safety。Raft 把一致性协议划分为 Leader 选举、MemberShip 变更、日志复制、Snapshot 等几个几乎完全解耦的模块,实现了模块化设计。 Raft 设计原则是通过减少状态数量将状态空间简化: 日志不允许出现空洞 , 并且 Raft限制了日志不一致的可能性 使用随机化时钟简化了领导选举的算法 - 领袖选举 - Raft协议为了保证Leader的健壮性,使用了以下技术保证选举的简单化实现: 超时驱动:Heartbeat/Election timeout 随机的超时时间:降低选举碰撞导致选票被瓜分的概率 Raft协议为了保证选举投票的有效性,规定了一系列的投票原则: 在任一任期内,单个节点最多只能投一票 候选人知道的信息不能比自己的少优先:投票节点通过对比Term(任期)...

