最近我在学习,直到现在我已经对它的工作原理有了基本的了解但是有谁能解释一下Paxos是如何处理数据包丢失和新节点加入的呢如果提供一个简单的例子可能会更好。

最佳答案

经典的paxos算法没有“新节点连接”的概念。有些paox变体确实存在,例如“垂直paxos”,但经典算法要求在运行算法之前静态定义所有节点。关于包丢失,paxos使用了一个非常简单的无限循环:“尝试一轮算法,如果有任何问题,尝试另一轮”。因此,如果在第一次尝试实现解析时丢失了太多数据包(可以通过等待回复的简单超时来检测),则可以尝试第二轮如果该回合的超时过期,请重试,依此类推。
究竟如何检测和处理数据包丢失是Paxos算法没有定义的这是一个特定于实现的细节。对于生产环境来说,这实际上是件好事,因为如何处理这一点会对基于paxos的系统产生相当大的性能影响。

关于algorithm - Paxos如何处理数据包丢失和新节点加入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33543647/

10-11 07:08