consensus

    0热度

    1回答

    我正在实现一个完全分散的数据库。任何人随时都可以上传任何类型的数据。适合这个问题的一个好的解决方案是不可变的分布式散列表。值是用他们的散列键入的。不变性确保此映射始终有效,简化数据完整性检查并避免同步。 为了提供一些数据检索设施,将实施基于标签的分类。任何密钥(与单个唯一值关联)都可以使用任意标签(任意字节序列)进行标记。为了简单起见,我想使用相同的分布式散列表来存储这个标签哈希索引。 要实现这个

    0热度

    1回答

    这与Hyperledger fabric v1.0网络拓扑有关。 从例如,configtx.yaml包含以下定义: Profiles: TwoOrgsOrdererGenesis: Orderer: <<: *OrdererDefaults Organizations: - *OrdererOrg Consortium

    0热度

    2回答

    当使用聚合事件采购作为交易范围时,您显然希望在单台计算机上拥有该聚合。但是,如果您还想构建高度可用且水平可伸缩的系统,则还需要在不同数据库上的许多计算机上复制此状态。 如果在任何给定时刻只允许在该网络中的一台机器上有一个写入侧,其他机器最终可以是一致的读取侧。但为了最大限度地提高写入性能,我想最好是同时允许多个写入端。但是,像这样的系统如何处理一致性和共识? 当两台或多台机器想要同时更新通用但已复

    0热度

    1回答

    7个成员集群,其中之一是领导者。 领导尝试复制日志(某些写入) 发生网络分区。 3名和4名成员。 负责人在少数分区结束 负责人只达到2名追随者→复制失败 在这种情况下会发生什么? 据我所知:2名追随者已经应用了一个“不好”的写法,当网络分区修补时,他们将覆盖与大多数领导者的历史写作。但是这违反了线性化。

    0热度

    1回答

    因此,获取和添加操作的共识数是2 我很难理解这意味着什么以及它如何影响多线程编程?我会喜欢一些关于如何影响比较和比较的实际例子...非常感谢。

    7热度

    1回答

    Here这是一个非常高层次的描述,只有公式。我想实际了解它是如何工作的。 我真的不明白步骤是什么,它有什么用?节点是否总是不断更新步骤?当创建时间创建并广播块时,它将采用当前步骤值并检查是否应广播。 你是什么意思“来自超过1步到未来的块被拒绝。”?这是否意味着如果块时间是5秒,那么下一个块时间戳应该高出5秒。 而且当下一个小学不播出时会发生什么?网络如何处理它?所有下一个块应该失效,因为它们不会遵

    1热度

    1回答

    我使用以下pdf作为参考。 它说lastApplied是应用于状态机的最高日志条目,但是与commitIndex有什么不同呢? 也就是领导者上的matchIndex只是追随者的commitIndex?如果不是有什么区别?

    3热度

    1回答

    考虑这个模拟在官方raft webpage 为什么term 2 index 1尽管不S2 (leader),S3和S4致力于商定的日志?我运行这个多分钟来确保所有的沟通都已经发生。 奇怪的是,如果我再添加一个日志条目term 6 index 2那么将提交term 2 index 1。 有谁知道什么是防止term 2 index 1规则被提交?

    0热度

    1回答

    为了说服自己,像Paxos和Raft这样的标准算法的复杂性是必要的,我们必须理解为什么更简单的解决方案不能令人满意。假设,为了达成共识WRT事件流的N机的群集(即执行复制的时间成长日志),下面的算法: 当一台机器要追加消息发送到日志,它广播元组(msg, rnd, prev),其中msg是消息,rnd是一个随机数,而prev是日志中最后一条消息的ID。 当一台机器收到一个元组时,它将msg作为pr

    0热度

    1回答

    我对“一致性”一词感到困惑。它已被用于许多不同的环境中,即分布式系统,内存模型和数据库。 People/Wikipedia在同一页面中总结了所有不同的一致性模型。但我并不认为他们习惯于描述同样的问题。例如,序列/放松/弱/严格/处理器一致性等在内存模型中是有意义的(由现代架构&现代语言编译器提供)。另一方面,顺序/最终一致性在分布式系统中有意义(当您尝试构建复制状态机时)。像共识算法一样的Paxo