Raft
Raftは、リーダー選出+ログ複製+安全性制約により、Multi-Paxosと同等の一貫性を実現する、理解しやすい合意プロトコルである。
目的
Paxosより理解と実装が容易な合意プロトコルを提供し、現代の分散システムで広く使われる。
メカニズム
ノードの役割はLeader/Follower/Candidateである。Leaderは書き込みを受け付け、ログをFollowerに複製し、過半数の承認後にコミットする。選出はランダム化タイムアウトでライブロックを防ぎ、任期(Term)が古いLeaderを排除する。
ユースケース
- 分散合意プロトコルの実装
- リーダー選出プロトコル
- ログレプリケーション