Raft论文的一些问题

抛些问题出来,真正解释了这些问题才算理解了论文。:)

1. 什么是复制状态机
2. Raft vs Paxos
3. Raft的设计目标understandability,为达到设计目标在做设计时如何权衡
4. 有稳定leader时的行为:
    a) 如何确保不同副本之间的数据一致;
    b) 一条日志何时可以在状态机上执行;
5. 如何选举?
    在Leader切换时必须避免的: a) 双主(split brain) b) 长时间无主(选主是否可收敛) c) 丢失已确认日志 d) 主备数据不一致
6. split vote如何处理?
7. 如何选择超时时间?
8. 真的没可能同时存在两个Leader吗?如果有两个副本同时认为自己是Leader,对读写操作各会造成什么影响?
9. 对选举是否还有其他约束?为了达成什么目的。如果没有这个限制,bad case
10. 是否形成多数派的日志一定是已提交的日志?Raft的设计为什么会存在这个问题。
12. nop日志的作用,如果只考虑写操作,是否必须有nop日志?
13. Raft实现的性能瓶颈,如何解决? 
上一篇:ES6新增的数据类型Map和Set。


下一篇:ES6新增的常用数组方法(forEach,map,filter,every,some)