深入淺析分布式系統(tǒng)的一致性模型

本文是《如何學習分布式系統(tǒng)》中,關于一致性模型的相關介紹。

什么是一致性模型

一致性模型指的是分布式系統(tǒng)對外界承諾的一個契約,外界按照契約的規(guī)定與分布式系統(tǒng)發(fā)生交互,就能得到契約中承諾的觀測結果。

這么解釋過于抽象,我們看幾個實際的例子。

  1. 你給女朋友轉賬了一千塊,然后你給她打電話:“親愛的,我給你打了一千塊”。女朋友一查余額,果然多了一千塊,于是龍顏大悅。
  2. 女朋友自拍發(fā)了朋友圈,打電話命令你點贊,你打開朋友圈,發(fā)現(xiàn)什么也沒有?;宋宸昼姾搴昧税l(fā)怒的女朋友,才看到那條姍姍來遲的朋友圈。
  3. 在女朋友的自拍下面,你看到你女朋友寫到“咱們上次逛街的地方”,過了三秒,看到她閨蜜的評論“這是哪里啊?”

這些系統(tǒng)表現(xiàn)出來的行為,就是其一致性模型的體現(xiàn)。

一致性模型的研究由來已久,在基于共享內存的多核CPU并行計算中,科學家就已經開始對一致性模型開始研究,然后將一致性模型順理成章的推廣到基于網絡通信的多節(jié)點協(xié)同系統(tǒng)中。

在分布式系統(tǒng)中,最理想的情況是一個事件一旦發(fā)生,就立刻被所有參與者感知,每個事件都有精確的物理時間用來確定先后順序,然而計算機技術實際上有各種各樣的限制,所以完美的一致性模型很難達到,所以大家就馬馬虎虎的退而求其次啦。

一致性模型有強弱之分,一般來說,如果一個算法能在一個一致性模型中工作,那么它就能在一個更強的的一致性模型中工作。

在后面的文章中,我們一起研究幾個常見的一致性模型。

擴展閱讀

分布式系統(tǒng)中還有很多一致性模型,有興趣的話,可以參考這個網站。

更多相關內容,請參考系列文章《如何學習分布式系統(tǒng)》

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容