Node_1是領導者,node_2意外死亡,Node_1需要重新運行Paxos,因爲Paxos值與當前節點死亡或生活有關。 但是隻有1個節點(node_1本身)同意這個建議,node_2不會迴應。這個條件不能達到「通過一半節點同意,即2個節點」。 它如何工作?paxos如何與2個節點一起工作?
0
A
回答
0
如果node_1只是提議者,那麼系統無法決定提案。如果node_1(比方說v)和node_2(比方說v')都是接受者和提議者,那麼算法可以決定接受的提案。假設節點v嘗試提出v值,節點v'嘗試提出v'值。所以,讓我們看看下面的例子。提議者v發送一個編號爲3的數字。接受者具有先前的值,因此將以前的提議發送回ACK-prepare
。然後v'意外死亡。但是「v」接受者繼續運行並接受v提議者提出的提案v'。然後,接受者發送ACK-proposal
並且系統以決定結束。
爲了使我們的例子更加高效,公認的價值是投保人V」的值(已去世)。但在死亡之前,將v'值與最終決定的值2相關聯。
算法有以下假設:
- 網絡可延緩包
- 重新排序分組
- 輸包
- 但不破壞分組
,如果您還沒有閱讀this,看看..
2
除非兩個節點都在工作,否則Paxos不能與兩個節點一起工作。爲了生存F節點失敗,總共需要n> = 2F + 1個節點。這意味着,如果您需要三節點羣集,則無法通過一個節點。兩個故障需要五個節點。這是因爲只有在接受多數時才選擇一個值。如果我們有兩個節點,大多數是兩個節點,並且兩個節點都必須接受要選擇的值。如果我們有三個節點,那麼大多數是兩個節點,我們可以在單個節點故障中倖存下來。
相關問題
- 1. jQuery與SVG節點一起工作嗎?
- 2. 如何使節點Webkit與快遞生成器一起工作
- 3. 讓laravel與Apache 2一起工作
- 4. [虛幻引擎4]使用2個exec一起工作的節點
- 5. 傳播運算符不能與節點6.10一起工作
- 6. NGINX:HTTP重定向到HTTPS不能與節點一起工作
- 7. 與網店中的節點一起工作?
- 8. Groovy XmlSlurper replaceNode無法與找到的節點一起工作
- 9. bluebird promisifyAll()然後()不與節點一起工作需要
- 10. Coffeescript - watch開關不能與節點一起工作0.4.7
- 11. 無法讓mysql模塊與節點js一起工作
- 12. 配置SublimeLinter-jshint與Sublime3中的節點一起工作
- 13. socket.io不能與節點服務器一起工作
- 14. Umbraco 4.7系統架構建議與200K +節點一起工作
- 15. Spark 2:檢查節點是主節點還是工作節點
- 16. 尖角在Ionic應用程序中如何與節點一起工作?
- 17. mpirun與兩個節點不工作
- 18. 如何在neo4j中將兩個節點作爲父節點鏈接在一起
- 19. 如何使jwplayer與Polymer 2一起工作
- 20. 如何讓Selenium 2 webdriver與Nightly(Firefox 64位)一起工作
- 21. 如何確認抖動樹是否與Webpack 2一起工作?
- 22. 如何讓swfupload與Asp.Net MVC一起工作2
- 23. 如何使Zend Framework 2與nginx一起工作?
- 24. 如何與角2和mvc5一起工作?
- 25. Paxos如何處理丟包和新節點加入?
- 26. 2個列表視圖一起工作
- 27. 2個asp項目一起工作
- 28. linkWithCredential如何工作?它如何與規則一起工作?
- 29. Matlab:formatSpec如何與''一起工作?
- 30. 如何讓mocha與tamejs一起工作?
我不明白,node_1是接受者還是提議者? –
node_1是提議者 – procr