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