CAP到底是什么鬼?

CAP到底是什么鬼?

CAP理論

 在分布式系統(tǒng)中 CAP不能三點(diǎn)同時(shí)滿足

 Consistence:在分布式環(huán)境中,【一致性】指的是多個(gè)副本之間是否能夠保持一致的特性。在一致性的需求下,當(dāng)一個(gè)系統(tǒng)再數(shù)據(jù)一致的狀態(tài)下執(zhí)行
    更新操作后,應(yīng)該保證系統(tǒng)數(shù)據(jù)仍然處于一致的狀態(tài)
 Availability:【可用性】是指系統(tǒng)提供的服務(wù)必須一直處于可用的狀態(tài),對(duì)于用戶的每一個(gè)操作請(qǐng)求總是能夠在有限的時(shí)間內(nèi)返回結(jié)果、
 Partition tolerance:【分區(qū)容錯(cuò)性】分布式系統(tǒng)再遇到任何網(wǎng)絡(luò)分區(qū)故障的時(shí)候,仍然需要能夠保證對(duì)外提供滿足一致性和可用性的服務(wù),除非是整個(gè)網(wǎng)絡(luò)環(huán)境都發(fā)生故障了。

解釋CAP原理

只能滿足CA不能滿足P的理解
    異地DB,保證C需要雙寫,如果雙寫? DB_0同步到DB_1的過程網(wǎng)絡(luò)有問題,則一直掛起,A不滿足。單臺(tái)DB滿足CA 但是不滿足P
  
只能滿足AP不能滿足C的理解
    異地DB,master寫成功(異步復(fù)制到slve) 滿足AP 不滿足C
    
 只能滿足CP不能滿足A的理解
    異地DB,保證CP,必須同步雙寫, DB_0同步到DB_1的過程網(wǎng)絡(luò)有問題,則一直掛起,A不滿足

------------------------------------------------------------------------------------------------------------
當(dāng)然在目前海量數(shù)據(jù)面前,往往會(huì)舍棄C,而保證AP,對(duì)與數(shù)據(jù)的一致性,只要求最終一致即可,在過程中是會(huì)出現(xiàn)差異的狀況,比如在不同
地方的人對(duì)某個(gè)新聞或者商品進(jìn)行評(píng)論,在一定時(shí)刻內(nèi)是不需要實(shí)時(shí)顯示出來的,只要保證最終會(huì)出現(xiàn)即可。

加深理解

應(yīng)用分區(qū)讀取同一個(gè)數(shù)據(jù)庫(kù)實(shí)例.png
 如何理解這種分布式應(yīng)用部署架構(gòu) ?
 
 1、db異步寫備庫(kù)   AP的設(shè)計(jì)
    異步復(fù)制  其實(shí)這一點(diǎn)是犧牲了C的。 
 
 2、db同步寫備庫(kù)   CP的設(shè)計(jì)
    同步寫 如果是同步寫的話,如果IDC機(jī)房掛掉,我們是敢直接吧流量全部切到IDC2的,備庫(kù)升級(jí)為主庫(kù)

螞蟻金服OceanBase 據(jù)說已經(jīng)打破CAP??

      螞蟻金服的OceanBase據(jù)我目前的學(xué)習(xí)了解(20181128,據(jù)說打破了CAP原理的設(shè)計(jì)) oceanbase是基于多副本存儲(chǔ)的一個(gè)
  分布式數(shù)據(jù)庫(kù),其實(shí)部署要求最近的兩個(gè)機(jī)房專線網(wǎng)絡(luò)延遲低于10ms【其實(shí)就是CP的設(shè)計(jì),網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持減少了網(wǎng)絡(luò)分區(qū)
  出錯(cuò)的概率,A也變得相對(duì)可靠】
about ME

雨人

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容