我一直在閱讀關於Raft的幾個文檔,並且我已經得到關於提交的矛盾信息。我知道只有在已知存儲在大多數服務器中的情況下才能提交條目,但是,是否還有其他條件?我已經讀過,從每個服務器存儲一個當前條目的入口也是強制性的,但其他一些文檔卻沒有提到這一點。任何幫助?RAFT:提交條目的條件
0
A
回答
2
存儲在大多數服務器上的條目被提交併不是技術上的真實情況。它是確實是領導確定一個條目一旦被存儲在大多數服務器上,但只在其當前期限內被提交。來自另一個術語的條目可以存儲在大多數服務器上,但從不承諾,事實上後來被另一個領導者覆蓋。這在筏板紙中顯示在圖8中。
這就是爲什麼領導者必須確保從當前任期開始承諾錄入,然後才能考慮任何以前條款中的任何(額外)條目。一旦選舉出領導者,領導者就有可能將先前任期的項目複製到大多數節點中,而不需要他們承諾。如果該領導者崩潰,則可以選擇另一個具有較晚條目的領導者,並覆蓋存儲在大多數羣集中的條目。這就是圖8所示,這就是承諾的技術定義是這樣的原因: 領導者的當前術語中的條目一旦存儲在大部分集羣中就被承諾,並且一旦從領導者的術語承諾領導者日誌中之前條款的所有條目都是隱含承諾的。
這實際上意味着什麼時候選舉領導者時,通常會提交一個空操作條目來強制當前任期中的提交。該領導者不會增加其commitIndex
,直到大多數服務器上存儲無操作條目。
相關問題
- 1. 在RAFT中,有可能在日誌條目上達成多數共識,但條目未提交?
- 2. Perforce提交/提交條件
- 3. Django在提交新條目時刪除了以前的條目
- 4. 在datatables.net中提交批處理條目
- 5. JQuery提交按鈕的條件
- 6. php laravel 2條路線2條提交
- 7. 一旦條目提交,將SharePoint中的條目表單重新導回自身?
- 8. 使用條件檢查表單提交?
- 9. JQuery有條件地提交表格
- 10. jquery驗證條件防止提交
- 11. 如何有條件地提交表單?
- 12. 防止提交條形式
- 13. 允許電子郵件和數據庫條目提交
- 14. R中的條件交點
- 15. CakePHP的發現()條件條目
- 16. Python tkinter條目提示
- 17. sqlalchemy - 獲取將提交的條目數,空運行
- 18. iPhone - 數據庫查詢返回未提交的條目?
- 19. 避免空白和重複的條目提交到sql
- 20. AJAX提交表單上的重複條目
- 21. 時間旁邊的一些條目少於提交日期?
- 22. 在新的表單提交條目上發送重複的電子郵件
- 23. 與條件交叉連接
- 24. 條件下交叉連接
- 25. WHERE條件交集表
- 26. MongoDB RSS提要條目,將條目嵌入到提要對象中?
- 27. 日誌條目被檢查出來之前提交
- 28. 在每個字符條目處提交輸入
- 29. Python 3空條目輸入條件
- 30. 一次提交多條記錄 - Laravel 5.2