Paxos
信頼性が低いプロセッサのネットワークにおいて合意の問題を解決するためのプロトコルの集合
分散合意プロトコルの一つ
レスリー・ランポートにより提案され、Fred Schneiderによってサーベイがなされている
The Writings of Leslie Lamport
Chapter 7: Replication Management using the State Machine Approach
合意プロトコルは分散コンピューティングにおける状態機械アプローチの基礎
State Machine Replication(状態機械レプリケーション)
命令列を全レプリカに同じ順序で適用する
Paxos単体だと使い道がなく、Multi-PaxosやRaftじゃないとだめらしい
Raftの方が理解できることを重視しているとのこと
ビザンチン将軍問題なるものが解決できる
合意(Consensus)
プロセスの集合が1つの値について合意を取ること
プロセス: 合意をとりたいグループのメンバー
合意プロトコルはなぜ必要か
分散システムで高可用性(High Availability)を実現するため
状態を持つソフトウェアを冗長化するには
レプリケーション
State Machine Replication(状態機械レプリケーション)
命令列を全レプリカに同じ順序で適用する
安全性を保証するため、Paxosは3つの安全性の特性を定義し、障害パターンによらず、これらが必ず守られていることを保証する。
非自明性
提案された値のみが習得される。
完全性
最大一つの値が習得可能である。
2つの習得ノードがことなる値を習得することはない
活性(C;L)
もし、値Cが提案されたならば、習得ノードLは何らかの値を習得する。(ただし十分数のプロセッサが障害を起こしていない場合)
Role
クライアント(Client)
アクセプタ(Acceptor)
プロポーザ(Proposer)
ラーナ(Learner)
リーダ(Leader)
確認用
Q. Paxos
参考
Paxosアルゴリズム - Wikipedia
今度こそ絶対あなたに理解させるPaxos - Qiita
Paxos, Raftなど分散合意プロトコルを概観する(1) - 備忘録 blog
Paxos | PPT
#分散処理 #アルゴリズムとデータ構造 #分散合意プロトコル