asopi tech
asopi techIndie Developer

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のクイックスタートから試せます。

参考資料

関連ページ