raft相关内容

高级主选举算法与欺凌算法相比有什么好处?

我阅读了当前的主选举算法(如 Raft、Paxos 或 Zab)如何在集群上选举主,但不明白为什么他们使用复杂的算法而不是简单的欺凌算法. 我正在开发一个集群库并使用 UDP 多播来处理心跳消息.每个节点加入一个多播地址,并定期向该地址发送数据报包.如果节点发现有一个新节点向该多播地址发送数据包,则该节点会被简单地添加到集群中,类似地,当集群中的节点没有从某个节点获取任何包时,它们会将其从集 ..

python线程方法卡住

我有一个类 MyClass ,该类在初始化时创建7个线程.一个线程是TCPServer,其他六个线程是 MyClass 的对象,TCPServer用于处理请求. 我的意图是创建一种可以在 MyClass 后台运行并维护6个线程的方法.这6个线程对应于2个分布式对象 obj1 和 obj2 ,这些对象是通过称为PySyncObj的Raft实现复制的.每个对象有三个线程. 每个对象群集 o ..
发布时间:2021-04-28 18:49:42 Python

相比于欺凌算法,高级主选举算法有什么好处?

我了解了诸如Raft,Paxos或Zab之类的当前主选举算法如何在集群上选举主数据库,却无法理解为什么他们使用复杂算法而不是简单的欺负算法. 我正在开发一个群集库,并将UDP组播用于心跳消息.每个节点加入一个多播地址,并定期向该地址发送数据报包.如果节点发现有一个新节点将数据包发送到此多播地址,则将该节点简单地添加到群集中,并且类似地,当群集中的节点没有从节点获取任何包时,它们会将其从群集中 ..

在RAFT中,是否可以对日志条目达成多数共识,但该条目未提交?

在官方筏网页 中考虑此模拟 尽管S2 (leader),S3和S4在日志上达成共识,为什么仍未提交term 2 index 1?我运行了几分钟,以确保所有通信都已完成. 很奇怪,如果我再添加一个日志条目term 6 index 2,则将提交term 2 index 1. 有人知道阻止term 2 index 1提交的规则是什么吗? 解决方案 您的领导者在第6学期中,但没有任 ..

Paxos vs Raft进行领导人选举

在阅读了paxos和木筏纸之后,我有以下困惑: paxos论文仅描述了关于单个日志条目的共识,这等同于筏算法的领导者选举部分.在木筏的领导人选举中,paxos的方法比简单的随机超时方法有什么优势? 解决方案 常见的误解是,原始Paxos论文没有使用稳定的领导者.在 该算法选择一个领导者,该领导者扮演 杰出的提议者和杰出的学习者. 这是使用“准备"和“承诺"的第一阶段消息传递来简 ..
发布时间:2020-07-05 04:56:41 其他开发

筏算法:术语何时增加?

筏将时间分为任意长度,如图所示5.术语用连续的整数编号。每个学期都以选举开始,在选举中,一个或多个候选人试图按照5.2节中的描述成为领导者。如果候选人在选举中获胜,则它将在剩余任期中担任领导职务。在某些情况下,选举将导致投票分裂。在这种情况下,任期将以无领导者结束;一个新的任期(将进行一次新的选举)将很快开始。 Raft确保在一个给定术语中最多有一位领导者。 术语在Raft中充当逻辑时钟[1 ..
发布时间:2020-06-03 21:42:45 其他开发

筏如何处理上一个提交的条目?

在木筏纸张第5.4.2节中 如果领导者在 提交条目之前崩溃,则未来的领导者将尝试 完成复制条目。但是,领导者不能立即得出结论 一旦将其存储在大多数服务器上,则前一个条目的输入就是 的提交。可能存在这样的情况,旧的日志条目在大多数服务器上存储了 ,但仍可能被 的未来领导者覆盖。 作者提到要避免上述情况 要消除如图8所示的问题,筏 永远不会通过计算 个副本来提交先前条 ..
发布时间:2020-06-03 20:37:01 其他开发