拋些問題出來,真正解釋了這些問題纔算理解了論文。:)性能
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實現的性能瓶頸,如何解決?