您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何分析CAP 理論,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在計算機科學理論,CAP 定理(也稱為 Brewer 定理),是由計算機科學家 Eric Brewer 提出的,即在分布式計算機系統不可能同時提供以下全部三個保證:
一致性(Consistency):所有節點同一時間看到是相同的數據;
可用性(Availability):不管是否成功,確保每一個請求都能接收到響應;
分區容錯性(Partition tolerance):系統任意分區后,在網絡故障時,仍能操作
下面分別舉例說明了為什么說 CAP 只能三選二。
在一個網絡中有N1 和 N2 兩個節點。他們都共享數據塊 V,其中有一個值 V0 。運行在 N1 的 A 程序可以認為是安全的、無 bug、可預測的和可靠的。運行在 N2 是 B 程序。這個例子中,A 將寫入 V 新值,而 B 從 V 讀取值
系統預期執行下面的操作
首先寫一個 V 的新值 V1
然后消息(M)從 N1 更新 V 的拷貝到 N2
現在,從 B 讀取將返回 V1
如果網絡是分區的,當 N1 到 N2 的消息不能傳遞時,執行上面的第三步,會出現雖然 N2 能訪問到 V 的值(可用性),但其實與 N1 的 V 的值已經不一致了(一致性)。
意義
在系統架構時,應該根據具體的業務場景,來權衡 CAP。比如,對于大多數互聯網應用來說(如門戶網站),因為機器數量龐大,部署節點分散,網絡故障是常態,可用性是必須需要保證的,所以只有舍棄一致性來保證服務的 AP。而對于銀行等,需要確保一致性的場景,通常會權衡 CA 和 CP 模型,CA 模型網絡故障時完全不可用,CP 模型具備部分可用性。
看完上述內容,你們對如何分析CAP 理論有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。