ratis
1.0.0
Apache Ratisは、Raft プロトコル [1] を実装する Java ライブラリです。Raft 論文の拡張バージョンは https://raft.github.io/raft.pdf で入手できます。この論文では Raft を紹介し、その動機を次の言葉で述べています。
Raft は、複製されたログを管理するためのコンセンサス アルゴリズムです。これは (マルチ)Paxos と同等の結果を生成し、Paxos と同じくらい効率的ですが、その構造は Paxos とは異なります。これにより、Raft は Paxos よりも理解しやすくなり、実用的なシステムを構築するためのより良い基盤も提供されます。
Ratis は、複製されたログを使用する必要があるシステムで使用できる Java ライブラリとして Raft を利用できるようにすることを目指しています。これにより、ステート マシン実装がレプリケートされた状態を管理するためのプラグ可能性が提供されます。また、Raft ログ、rpc 実装、メトリック実装のプラグイン機能も提供し、他のプロジェクトとの統合を容易にします。もう 1 つの重要な目標は、高スループットのデータ取り込みをサポートして、より一般的なデータ レプリケーションのユースケースに使用できるようにすることです。