您好,登錄后才能下訂單哦!
這篇文章給大家介紹Paxos如何理解,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
假設有一組可以提出提案的進程集合。一個一致性算法需要保證:在這些被提出的提案中,只有一個會被選定;如果,沒有提案被提出,那么就不會有被選定的提案;當一個提案被選定后,進程應該可以獲取被選定的提案信息。
對于一致性來說,安全性(Safety)需求就是這樣的:
只有被提出的提案才能被選定。
只能有一個值被選定(chosen),同時
如果某個進程認為某個提案被選定了,那么這個提案必須是真的被選定的那個。
我們不會精確地描述活性(Liveness)需求。整體上來說,目標就是要保證最終有一個提案會被選定,當提案被選定后,進程最終也能獲取到被選定的提案。 [?]譯注
在該一致性算法中,有三種參與角色,我們用 Proposers , Acceptors 和 Learners 來表示。在具體的實現中,一個進程可能充當不止一種角色,在這里我們并不關心進程如何映射到各種角色。
假設不同參與者之間可以通過發送消息來通信,我們使用普通的非拜占庭模式的異步模型:
每個參與者以任意的速度執行,可能會出錯而停止,也可能會重啟。當一個提案被選定后,所有的參與者都有可能失敗或重啟,因此除非那些失敗或重啟的參與者可以記錄某些信息,否則是不可能存在一個解的。
消息在傳輸中可能花費任意的時間,可能會重復,丟失,但是不會被損壞。
關于Paxos如何理解就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。