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