这是对raft论文提出算法的简单实现
Raft是一种易于理解的共识算法。 它在容错和性能方面与Paxos相当。 不同之处在于它被分解为相对独立的子问题,并且它干净地解决了实际系统所需的所有主要部分
Raft 通过选举一个领导者(Leader),然后给予他全部的管理复制日志的责任来实现一致性。领导人从客户端接收日志条目,把日志条目复制到其他服务器上,并且当保证安全性的时候告诉其他的服务器应用日志条目到他们的状态机中。 本次项目是在学习过程中实现的,可能还存在许多的不足,欢迎指正。
版本:3.6+
requires:
- flask
分别打开Client和RaftNode文件夹start.bat即可 然后打开http://127.0.0.1:5000/hello
- 未加入动态节点变化
- 动态配置节点数目(懒)