raft算法(1)
一.多节点复制
1.为什么需要日志?为什么一致性模块不能直接管理状态机?
加了log之后就可以比较方便的对一些不能达成共识的命令做回滚的操作。多节点复制的日志保证了所有状态机按相同的顺序执行相同的命令。日志可以将命令按顺序排好。帮助所有节点共同确定一个执行顺序,帮助leader确认每个follower有相同的日志。
一致性模块保证了日志复制结果的正确性。复制状态机只能保证最终结果达到相同状态,但是在过程中可能会出现不一致的情况,我们并不要求每次执行命令都同步的,可以异步执行。
二.Raft动画演示



