6 个版本 (3 个重大更新)

使用旧的 Rust 2015

0.4.0 2018年8月18日
0.3.0 2018年6月3日
0.2.1 2018年5月9日
0.2.0 2018年4月15日
0.1.3 2018年3月17日

#consensus-algorithm 中排名第 36

MIT 许可协议

130KB
3K SLoC

raft-consensus

纯 Rust、网络无关的 Raft 协议一致性实现

这是对一致性协议和 Raft 协议逻辑的提取,不依赖于网络数据包表示

基于 Hoverbear 的原始工作 https://github.com/Hoverbear/old-raft-rs


lib.rs:

Raft

这是一个包含 Raft 协议一致性实现和编码/解码辅助函数的包。这是一个仅包含逻辑,没有网络部分的包。

要使用此包充分发挥 Raft 的作用,应执行以下操作:

  • 确定并实现(或使用现成的)状态机和持久日志实现

  • 找到或制作一个负责在网络中传递对等和客户端消息的部分,并将所有这些消息传递给 ...Consensus 结构之一

  • 定义一个 ConsensusHandler,其中包含回调,用于将一致性生成的消息传递给其他节点

依赖项

~2–3MB
~61K SLoC