首页 文章
  • 2 votes
     answers
     views

    筏子领导者在任期开始时进行无操作入场

    最近我读了一篇关于Raft一致性算法的论文 . 新领导者不知道当前的提交索引是什么 . no-op 如何解决这个问题?
  • 3 votes
     answers
     views

    RAFT共识协议 - 在提交之前条目是否应该是持久的

    我有关于实现RAFT的以下查询: 请考虑以下方案\实现: RAFT领导者收到一个命令条目,它将该条目附加到内存数组中然后将条目发送给粉丝(具有心跳) 关注者接收条目并将其附加到其内存数组中,然后发送已收到条目的响应 然后领导者通过将其写入持久存储(文件)来提交条目领导者在心跳中发送最新的提交索引 关注者然后通过将条目存储到其持久存储(文件)中来提交基于leader的提交索引的条目 ...
  • 8 votes
     answers
     views

    如果有多个领导者,Raft算法如何保证共识?

    正如论文所说: 选举安全:在一个特定的任期内,最多只能选出一名领导人 . §5.2 但是,系统中可能有多个领导者 . 筏只能承诺在给定的期限内只有一个领导者 . 所以如果我有多个客户端,我不会得到不同的数据吗?这如何让Raft成为一致的算法? 有什么我不明白的,有人可以解释一下吗?
  • 2 votes
     answers
     views

    RAFT中是否存在竞争条件?

    当领导者获得日志条目时,它会将其复制到群集中的其他服务器 . 然后它提交条目并告诉其他服务器也提交 . 这里似乎有两种情况:1)领导者提交条目,然后告诉其他服务器也提交 .2)领导者告诉每个人提交,然后它也会提交 . 在#1中,如果领导者在告诉其他人提交之前崩溃,那么即使它没有被提交,那么成为新领导者的人是否也会使用该条目?如果没有,那么我们有一些与最新条目不同步的日志 . (旧的领导者会应用它...
  • 5 votes
     answers
     views

    筏子:承诺进入可能会丢失?

    在所有关注者更新提交索引之前,领导者崩溃会发生什么? 例如,节点A,B,C形成集群: 只有A和B活着,A是领导者 A将一个条目(比如说它的entry1)复制到B并从B获得成功的结果 提交entry1,并在将心跳消息发送给B之前崩溃(这会导致B更新其提交索引) C现在在线 我的问题是: 会被选为新领导人吗?如果是这样,那么entry1会丢失吗?此外,如果A重新加入,其数据将与其...
  • 1 votes
     answers
     views

    RAFT选举限制

    我正在用Raft paper从零开始学习Raft,我无法理解领导者的选举过程 . 我在5.4.1中读到领导者需要在其日志中拥有集群的所有已提交条目: Raft使用更简单的方法,它保证从选举之时起,每个新领导者都会出现之前条款中的所有已提交条目,而无需将这些条目转移给领导者 . Raft使用投票过程来阻止候选人赢得选举,除非其日志包含所有已提交的条目 . 但是后来,据说如果候选人至少与大多数其...
  • 4 votes
     answers
     views

    paxos vs raft for leader election

    在阅读了paxos和筏纸之后,我有以下困惑:paxos论文仅描述了单日志条目的共识,这相当于筏算法的领导者选举部分 . 在木筏领导者选举中,paxos的方法优于简单的随机超时方法有什么优势?
  • 4 votes
     answers
     views

    筏怎么处理从前一个提交的条目?

    在筏paper第5.4.2节 如果领导者在提交条目之前崩溃,未来的领导者将尝试完成复制条目 . 但是,一旦领导者存储在大多数服务器上,就无法立即得出上一个条目的条目 . 可能存在这样的情况:旧的日志条目存储在大多数服务器上,但仍可被未来的领导者覆盖 . 提交人提到要避免上述情况 为了消除类似图8中的问题,Raft从不通过计算副本来提交先前术语的日志条目 . 通过计算副本,只提供领导者当前术语...
  • 1 votes
     answers
     views

    在筏头领导选举中,领导者对候选人的RequestVote rpc的回应如何?

    我正在读筏纸 . 到requestvote rpc, 接收者实施:1 . 如果term <currentTerm(§5.1),则回复false 2.如果votedFor为null或candidateId,并且候选人的日志至少与接收者的日志一样是最新的,则授予投票权(§5.2,§5.4) 在某些情况下,候选人的期限等于领导者'currentTerm,那么领导者如何对候选人的RequestV...
  • 1 votes
     answers
     views

    在Raft什么时候跟随者知道一个条目被提交?一个过时的节点可以赢得选举吗?

    在木筏中,如果日志复制到多数,则认为它是在领导者中承诺的 . 然后领导者将msg发送给关注者告诉关注者一个条目变成了提交 . 如果没有, how and when follower know an entry become committed??? 另一个问题,如果过时可以在下列情况下赢得选举? 5个节点集群,节点A是当前的领导者 . A: 0 1 2 3 4 B: 0 1 2 3 4 C: ...
  • 1 votes
     answers
     views

    Quorum中的RAFT一致性算法如何确保确定性链扩展?

    在Quorum的RAFT consensus docs中提到了这一点 此链扩展逻辑是确定性的:在集群中的每个节点上都会发生相同的确切行为,从而使区块链保持同步 . 在领导者变更正在进行的情况下,共识算法如何确保所有跟随者节点具有相同的分类帐?是否有可能某些关注节点首先从前一个领导者获得一个新块,一些节点首先从新领导者那里获得一个新块?是否有任何同步机制来避免这种行为?
  • 0 votes
     answers
     views

    使用Raft协议集成分布式数据系统(客户端,服务器)的thrift实现

    所以,首先,抱歉我的英语 . 我不是母语人士 . 问题是..我已经使用Thrift实现了一个带有分布式数据(3台服务器)的Cliente-Server应用程序 . 现在(项目的最后阶段)是使用Raft的一些实现(因为Im使用Java,一个选项是copycat)来复制每个服务器 . 但是Thrift以他的方式创建了服务器和客户端(像Grafosd.Client客户端=新...)和Grafosd由Th...

热门问题