Wikiwand AI

Raft (アルゴリズム)

From Wikipedia, the free encyclopedia

Raftは、Paxos系のアルゴリズムの代替として設計されたコンセンサス・アルゴリズムである。ロジックを分離することでPaxosよりも理解しやすくすることを意図して設計されているが、安全性が形式的に証明されており、いくつかの追加機能も提供する[1]。Raftは、コンピューティング・システムのクラスター全体にステートマシンを分散する汎用的な手段を提供し、クラスター内の各ノードが同じ一連の状態遷移に合意することを保証する。多数のリファレンス実装がオープンソースで公開されており、Go、C++、Java、Scalaには、完全な仕様の実装が存在する[2]。Raftという名前は、「Reliable, Replicated, Redundant, And Fault-Tolerant」に由来する[3]。

概要 クラス ...
Raft
Raftコンセンサス・アルゴリズムのマスコット。
クラス コンセンサス・アルゴリズム(英語版)
閉じる

Raftはビザンチン障害に対して耐久性のあるアルゴリズムではなく、各ノードは選出されたリーダーをそのまま信頼する[1]。

プロダクションでの利用

  • CockroachDB(英語版)- レプリケーションレイヤーでRaftを利用している[4]。
  • Etcd(英語版) - 可用性の高いレプリケーションログを管理するためにRaftを利用している[5]。
  • MongoDB - レプリケーションセット内でRaftの変種を利用している。
  • Splunk - EnterpriseのSearch Head Cluster(SHC)でRaftを利用している[6]。
  • TiDB - ストレージエンジンTiKVでRaftを利用している[7]。
  • YugabyteDB - DocDB Replication内でRaftを利用している[8]。

出典

外部リンク

Related Articles

Timelines

Top Qs

Fact Checks