algorithm - Paxos是如何处理丢包和新节点加入的?

标签 algorithm protocols distributed-system paxos

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

最佳答案

经典的Paxos算法没有“新节点加入”的概念。一些 Paoxs 变体可以,例如“Vertical Paxos”,但经典算法要求在运行算法之前静态定义所有节点。关于丢包,Paxos 使用了一个非常简单的无限循环:“尝试一轮算法,如果任何地方出错,再试另一轮”。因此,如果在第一次尝试实现解决方案时丢失了太多数据包(可以通过等待回复的简单超时来检测),则可以尝试第二轮。如果该轮的超时到期,请重试,依此类推。

Paxos 算法未定义具体如何检测和处理数据包丢失。这是一个特定于实现的细节。这对于生产环境来说实际上是一件好事,因为如何处理它会对基于 Paxos 的系统产生相当大的性能影响。

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

相关文章:

javascript - 使用//代替协议(protocol)

email - Mandrill - 入站电子邮件处理路由不适用于 SSL

hadoop - 如何制作网站,使用分布式文件系统-hadoop进行数据管理

c# - 用于密码算法的 UI 字节数组操作

Java递归提取最里面的括号,直到没有更多的括号

c++ - 避免整数乘法和除法溢出

desktop - 如何检测远程计算机是否正在运行 RDP?

zeromq - ZMQ/0MQ如何实现多个发布者和订阅者?

database - HBase如何保证行级原子性?

java - Gps轨迹检测算法