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 實作和指標實作提供可插拔性,以便於與其他專案整合。另一個重要目標是支援高吞吐量資料攝取,以便它可以用於更通用的資料複製用例。