ratis
1.0.0
Apache Ratis是一个实现 Raft 协议的 Java 库 [1],Raft 论文的扩展版本可在 https://raft.github.io/raft.pdf 上找到。论文介绍了 Raft 并阐述了其动机:
Raft 是一种用于管理复制日志的共识算法。它产生的结果与(multi-)Paxos等效,并且与Paxos一样高效,但其结构与Paxos不同;这使得 Raft 比 Paxos 更容易理解,也为构建实用系统提供了更好的基础。
Ratis 的目标是使 Raft 作为一个 Java 库可供任何需要使用复制日志的系统使用。它为状态机实现提供可插拔性以管理复制状态。它还为 Raft 日志、rpc 实现和指标实现提供可插拔性,以便于与其他项目集成。另一个重要目标是支持高吞吐量数据摄取,以便它可以用于更通用的数据复制用例。