Paxos
信頼性が低いプロセッサのネットワークにおいて合意の問題を解決するためのプロトコルの集合
合意プロトコルは分散コンピューティングにおける状態機械アプローチの基礎
State Machine Replication(状態機械レプリケーション)
命令列を全レプリカに同じ順序で適用する
Raftの方が理解できることを重視しているとのこと 合意(Consensus)
プロセスの集合が1つの値について合意を取ること
プロセス: 合意をとりたいグループのメンバー
合意プロトコルはなぜ必要か
分散システムで高可用性(High Availability)を実現するため 状態を持つソフトウェアを冗長化するには
State Machine Replication(状態機械レプリケーション)
命令列を全レプリカに同じ順序で適用する
安全性を保証するため、Paxosは3つの安全性の特性を定義し、障害パターンによらず、これらが必ず守られていることを保証する。
非自明性
提案された値のみが習得される。
完全性
最大一つの値が習得可能である。
2つの習得ノードがことなる値を習得することはない
活性(C;L)
もし、値Cが提案されたならば、習得ノードLは何らかの値を習得する。(ただし十分数のプロセッサが障害を起こしていない場合)
Role
クライアント(Client)
アクセプタ(Acceptor)
プロポーザ(Proposer)
ラーナ(Learner)
リーダ(Leader)
確認用
Q. Paxos
参考