Raft (アルゴリズム)
Raftは、Paxos系のアルゴリズムの代替として設計されたコンセンサス・アルゴリズムである。ロジックを分離することでPaxosよりも理解しやすくすることを意図して設計されているが、安全性が形式的に証明されており、いくつかの追加機能も提供する[1]。Raftは、コンピューティング・システムのクラスター全体にステートマシンを分散する汎用的な手段を提供し、クラスター内の各ノードが同じ一連の状態遷移に合意することを保証する。多数のリファレンス実装がオープンソースで公開されており、Go、C++、Java、Scalaには、完全な仕様の実装が存在する[2]。Raftという名前は、「Reliable, Replicated, Redundant, And Fault-Tolerant」に由来する[3]。
![]() Raftコンセンサス・アルゴリズムのマスコット。 | |
| クラス | コンセンサス・アルゴリズム |
|---|---|
Raftはビザンチン障害に対して耐久性のあるアルゴリズムではなく、各ノードは選出されたリーダーをそのまま信頼する[1]。
プロダクションでの利用
出典
- Ongaro, Diego (2013年). “In Search of an Understandable Consensus Algorithm”. 2022年10月13日閲覧。
- “Raft Consensus Algorithm” (2014年). 2022年10月13日閲覧。
- “Why the "Raft" name?”. groups.google.com. 2022年10月13日閲覧。
- “Replication Layer | CockroachDB Docs”. www.cockroachlabs.com. 2022年6月21日閲覧。
- “Raft README”. github.com. 2022年8月25日閲覧。
- “Handle Raft issues” (英語). Splunk (2022年8月24日). 2022年8月24日閲覧。
- “Raft and High Availability” (英語). PingCAP (2021年9月1日). 2022年6月21日閲覧。
- “Replication | YugabyteDB Docs”. www.yugabyte.com. 2022年8月19日閲覧。
外部リンク
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.
