溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java CAP理論是什么

發(fā)布時間:2021-12-14 15:14:30 來源:億速云 閱讀:282 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“java CAP理論是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“java CAP理論是什么”吧!

什么是CAP理論?

2000年7月,加州大學(xué)伯克利分校的Eric Brewer教授在ACM PODC會議上提出CAP猜想。2年后麻省理工學(xué)院的Seth Gilbert和NancyLynch從理論上證明了CAP,之后CAP理論正式成為分布式計算領(lǐng)域的公認(rèn)定理。

CAP理論是由下面三個概念組成的,且在分布式系統(tǒng)中三者不能兼得,只能同時滿足兩種條件。

一致性(C)

All nodes see the same data at the same time

所有數(shù)據(jù)庫集群節(jié)點在同一時間點看到的數(shù)據(jù)完全一致,即所有節(jié)點能實時保持?jǐn)?shù)據(jù)同步。

可用性(A)

Reads and writes always succeed

讀寫操作永遠(yuǎn)是成功的。即服務(wù)一直是可用的,即使集群一部分節(jié)點故障,集群整體還能正常響應(yīng)客戶端的讀寫請求。

分區(qū)容錯性(P)

The system continues to operate despite arbitrary message loss or failure of part of the system

盡管系統(tǒng)中有任意的信息丟失或故障,系統(tǒng)仍在繼續(xù)運行。以實際效果而言,分區(qū)相當(dāng)于對通信的時限要求。系統(tǒng)如果不能在時限內(nèi)達(dá)成數(shù)據(jù)一致性,就意味著發(fā)生了分區(qū)的情況,必須就當(dāng)前操作在C和A之間做出選擇。

CAP權(quán)衡使用

1、保留CA,放棄P

如果想避免分區(qū)容錯性問題的發(fā)生,一種做法是將所有的數(shù)據(jù)(與事務(wù)相關(guān)的)都放在一臺機器上。雖然無法100%保證系統(tǒng)不會出錯,但不會碰到由分區(qū)帶來的負(fù)面效果。當(dāng)然這個選擇會嚴(yán)重的影響系統(tǒng)的擴展性。

作為一個分布式系統(tǒng),放棄P,即相當(dāng)于放棄了分布式,一旦并發(fā)性很高,單機服務(wù)根本不能承受壓力。

像很多銀行服務(wù),確確實實就是舍棄了P,只用單臺小型機+ORACLE保證服務(wù)可用性。

2、保留CP,放棄A

相對于放棄“分區(qū)容錯性“來說,其反面就是放棄可用性。一旦遇到分區(qū)容錯故障,那么受到影響的服務(wù)需要等待一定的時間,因此在等待期間系統(tǒng)無法對外提供服務(wù)。

作為分布式系統(tǒng),有分區(qū)服務(wù)發(fā)生問題很有可能,如果因為某些服務(wù)不能用,導(dǎo)致整個服務(wù)都不能用,這個根本不是好的分布式系統(tǒng)。

3、保留AP,舍棄C

這里所說的放棄一致性,并不是完全放棄數(shù)據(jù)一致性,而是放棄數(shù)據(jù)的強一致性。即放棄了同一時刻的數(shù)據(jù)一致性,而保留數(shù)據(jù)的最終一致性。

以網(wǎng)絡(luò)購物為例,對只剩下一件庫存的商品,如果同時接受到了兩份訂單,那么較晚的訂單將被告知商品告罄。

通常情況下,很多分布式服務(wù)系統(tǒng)都是采用該方案,保證可用性性,分布式服務(wù),因為某些分區(qū)服務(wù)發(fā)生問題,先容忍,最終通過一些折中的方法達(dá)到最終數(shù)據(jù)一致性。

到此,相信大家對“java CAP理論是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI