分布式 raft 算法总结
Raft 是一个分布式共识算法,相较于之前普遍使用的 Paxos 算法,Raft 更侧重于算法的简洁和易于理解,并具备支持工业级应用所需的性能。
Raft 有几个区别于其他算法的特性:
- Strong Leader:日志只能从 Leader 发送给 Follower,并覆盖掉 Follower 处与 Leader 不一致的日志。
- Leader Election:Raft 使用随机的延时进行 Leader 的选举,这避免了一些冲突,并使得算法变得更简单。
- Membership changes:Raft 使用 joint consensus 进行在前后两组节点之间进行无缝转变,节点变化的过程对用户而言是透明的。