Wikiwand AI

Raft (アルゴリズム)

From Wikipedia, the free encyclopedia

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