Paxos算法:
Proposer:提案者
Acceptor: 表決者
Learner: 同步者
Paxos 算法的一緻性主要展現在以下幾點:
每個提案者在提出提案時都會首先擷取到一個具有全局唯一性的、遞增的提案編号 N, 即在整個叢集中是唯一的編号 N,然後将該編号賦予其要提出的提案。
每個表決者在 accept 某提案後,會将該提案的編号 N 記錄在本地,這樣每個表決者中儲存的已經被 accept 的提案中會存在一個編号最大的提案,其編号假設為 maxN。每個表決者僅會 accept 編号大于自己本地 maxN 的提案。
在衆多提案中最終隻能有一個提案被標明。
一旦一個提案被標明,則其它伺服器會主動同步(Learn)該提案到本地。
沒有提案被提出則不會有提案被標明。
參考:Paxos 與拜占庭将軍問題