工具介绍
开源 用于 Raft 共识协议的 Java 实现。
Apache Ratis* 是一个 Java 库,实现了 Raft 协议 [1],扩展版 Raft 论文可在 https://raft.github.io/raft.pdf.> 中找到。该论文介绍了 Raft 并阐述了其设计动机:
Ratis 旨在将 Raft 以 Java 库的形式提供,可供任何需要使用复制日志的系统使用。它提供了状态机实现的可插拔性,用于管理复制状态。此外,它还提供了 Raft 日志、RPC 实现和指标实现的可插拔性,以便与其他项目轻松集成。另一个重要目标是支持高吞吐量的数据采集,以便将其用于更广泛的数据复制用例。
- Diego Ongaro 和 John Ousterhout,《寻找一个易于理解的共识算法》Ongaro2014, 2014 年 USENIX 年度技术会议 (USENIX ATC 14)(费城, PA), USENIX 协会, 2014 年, 第 305-319 页。