分散合意アルゴリズム(Raft)

複数ノードからなる分散システムが、障害があっても単一の値や操作ログについて合意(consensus)を形成するためのアルゴリズム。

Raft

  • Paxos の後継として、わかりやすさ(understandability)を最重視して設計された合意アルゴリズム。
  • リーダー選出・ログ複製・安全性という分割されたサブ問題で構成され、リーダーがログエントリを follower に複製して過半数の合意でコミットする。
  • Hyperledger Fabric(分散台帳)が順序付けサービスに採用している。

位置づけ

  • ノード間の通信は inter-process-communication のソケット/RPC を土台にする。
  • レプリケーションの考え方はストレージ冗長化(RAID、operating-system-kernel)や、複製と耐障害性のトレードオフと通底する。

関連: _moc-systems