今天就跟大家聊聊有關(guān)如何分析CAP 理論,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在麗江等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷,外貿(mào)營銷網(wǎng)站建設(shè),麗江網(wǎng)站建設(shè)費用合理。
在計算機科學理論,CAP 定理(也稱為 Brewer 定理),是由計算機科學家 Eric Brewer 提出的,即在分布式計算機系統(tǒng)不可能同時提供以下全部三個保證:
一致性(Consistency):所有節(jié)點同一時間看到是相同的數(shù)據(jù);
可用性(Availability):不管是否成功,確保每一個請求都能接收到響應(yīng);
分區(qū)容錯性(Partition tolerance):系統(tǒng)任意分區(qū)后,在網(wǎng)絡(luò)故障時,仍能操作
下面分別舉例說明了為什么說 CAP 只能三選二。
在一個網(wǎng)絡(luò)中有N1 和 N2 兩個節(jié)點。他們都共享數(shù)據(jù)塊 V,其中有一個值 V0 。運行在 N1 的 A 程序可以認為是安全的、無 bug、可預(yù)測的和可靠的。運行在 N2 是 B 程序。這個例子中,A 將寫入 V 新值,而 B 從 V 讀取值
系統(tǒng)預(yù)期執(zhí)行下面的操作
首先寫一個 V 的新值 V1
然后消息(M)從 N1 更新 V 的拷貝到 N2
現(xiàn)在,從 B 讀取將返回 V1
如果網(wǎng)絡(luò)是分區(qū)的,當 N1 到 N2 的消息不能傳遞時,執(zhí)行上面的第三步,會出現(xiàn)雖然 N2 能訪問到 V 的值(可用性),但其實與 N1 的 V 的值已經(jīng)不一致了(一致性)。
意義
在系統(tǒng)架構(gòu)時,應(yīng)該根據(jù)具體的業(yè)務(wù)場景,來權(quán)衡 CAP。比如,對于大多數(shù)互聯(lián)網(wǎng)應(yīng)用來說(如門戶網(wǎng)站),因為機器數(shù)量龐大,部署節(jié)點分散,網(wǎng)絡(luò)故障是常態(tài),可用性是必須需要保證的,所以只有舍棄一致性來保證服務(wù)的 AP。而對于銀行等,需要確保一致性的場景,通常會權(quán)衡 CA 和 CP 模型,CA 模型網(wǎng)絡(luò)故障時完全不可用,CP 模型具備部分可用性。
看完上述內(nèi)容,你們對如何分析CAP 理論有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。