编织 Weave是用Java实现的分布式密钥库,并使用基于RAFT的领导者选举的自定义实现来达成共识。 它被设计为快速,可访问且容错的。 Weave旨在促进原始RAFT论文的目标,包括易懂性。 这就是为什么Weave有充分的文档资料并易于扩展。 它还包括一个基于Python的命令行客户端,以测试和分析密钥存储区的状态。 我们创建Weave的三个主要目标之一是设计: 基于云的环境的容错分布式密钥库 需要共识算法的分布式Java应用程序的RAFT的理想实现 分布式环境中的学术共识的分布式环境 Java文档 您可以在阅读Javadoc。 RAFT共识简介 Diego Ongaro和John Osterhout在论文“寻找可理解的共识算法”中引入了RAFT,它是1990年代Leslie Lamport提出的Paxos共识算法的替代方案。 众所周知,原始Paxos论文难以实施,导致各种行业
1
Raft is a consensus algorithm for managing a replicated log. It produces a result equivalent to (multi-)Paxos, and it is as efficient as Paxos, but its structure is different from Paxos; this makes Raft more understandable than Paxos and also provides a better foundation for building practical systems. In order to enhance understandability, Raft separates the key elements of consensus, such as leader election, log replication, and safety, and it enforces a stronger degree of coherency to reduce t
2022-07-10 21:03:33 537KB 数据库 分布式一致性协议
1
CBBA-Python 这是基于共识的捆绑算法(CBBA)的Python实现。 您可以从这些论文中查看有关CBBA的更多详细信息。 要求:Python> = 3.7 此仓库已通过以下测试: Python 3.9.1,macOS 11.2.1,numpy 1.20.1,matplotlib 3.3.4 python 3.8.5,Ubuntu 20.04.2 LTS,numpy 1.20.1,matplotlib 3.3.4 依存关系 对于Python: $ pip3 install numpy matplotlib 用法 任务和代理的参数写在配置json文件中。 AGENT_TYPES :座席类型。 TASK_TYPES :任务类型。 第i个任务类型与第i个代理类型相关联。 NOM_VELOCITY :代理的平均速度[m / s]。 FUEL :代理商的旅行罚金/费
1
In Search of an Understandable Consensus Algorithm
2021-01-28 01:13:48 609KB 一致性算法 raft 主选举 成员变更
1