Asopitech VS
openraft vs Alopex Chirps
Rustの非同期Raftライブラリopenraftと、それを使うAlopex Chirpsの関係と違いを紹介します。
更新: 2026/10/13
openraftとは
openraftは、Rustの非同期ランタイムで動くRaftのライブラリです。Databendのメタサービスのクラスタで、合意のエンジンとして使われています。async-raftから派生しました。
仕組み
- 差し替える部品:アプリは、ログの保存、状態機械、ネットワークを、openraftの決めた形で実装します。
- テスト:READMEによると、CIで決定的なシミュレーションのファザーと、Jepsenのテストを回しています。
主な機能
- リーダー選出、ログの複製、スナップショット、メンバーの変更、学習者(learner)の追加。
- 非同期のRustのアプリに、そのまま組み込めます。
制限
READMEは、APIがまだ安定しておらず、1.0までは互換性のない変更が入りうると明記しています。ネットワークと保存は、アプリが用意します。
Alopex Chirpsとの違い
Alopex Chirpsは、Raftの合意にopenraftを使っています。合意のアルゴリズムは同じものです。
openraftは合意のエンジンで、通信と保存をアプリに任せます。Alopex Chirpsは、openraftに、QUICと相互TLSのトランスポート、alopex-coreに載るログの保存、gossipによるメンバーシップを組み合わせて渡します。複数のRaftグループをまとめて動かす仕組み、スナップショットの分割転送、単調なタイムスタンプを配るTSOも加えています。openraftの版はChirpsが固定しているので、アプリはAPIの変更をChirpsの版の単位で受け取れます。
openraftの合意を、通信とメンバーシップ込みですぐ使えるAlopex Chirpsをおすすめします。GitHubのクイックスタートから試せます。