分散合意アルゴリズム(Raft)
複数ノードからなる分散システムが、障害があっても単一の値や操作ログについて合意(consensus)を形成するためのアルゴリズム。
Raft
- Paxos の後継として、わかりやすさ(understandability)を最重視して設計された合意アルゴリズム。
- リーダー選出・ログ複製・安全性という分割されたサブ問題で構成され、リーダーがログエントリを follower に複製して過半数の合意でコミットする。
- Hyperledger Fabric(分散台帳)が順序付けサービスに採用している。
位置づけ
- ノード間の通信は inter-process-communication のソケット/RPC を土台にする。
- レプリケーションの考え方はストレージ冗長化(RAID、operating-system-kernel)や、複製と耐障害性のトレードオフと通底する。
関連: _moc-systems