對于關(guān)系型數(shù)據(jù)庫,要求更新過的數(shù)據(jù)能被后續(xù)的訪問都能看到,這是強一致性。
如果能容忍后續(xù)的部分或者全部訪問不到,則是弱一致性。
如果經(jīng)過一段時間后要求能訪問到更新后的數(shù)據(jù),則是最終一致性。
CAP中說,不可能同時滿足的這個一致性指的是強一致性。
CA without P
分布式環(huán)境下,分區(qū)是必然的,所以如果舍棄P,意味著要舍棄分布式系統(tǒng)
CP without A
如果一個分布式系統(tǒng)不要求強的可用性,即容許系統(tǒng)停機或者長時間無響應的話,就可以在CAP三者中保障CP而舍棄A。
AP wihtout C
要高可用并允許分區(qū),則需放棄一致性。一旦網(wǎng)絡問題發(fā)生,節(jié)點之間可能會失去聯(lián)系。為了保證高可用,需要在用戶訪問時可以馬上得到返回,則每個節(jié)點只能用本地數(shù)據(jù)提供服務,而這樣會導致全局數(shù)據(jù)的不一致性。
孰優(yōu)孰略,沒有定論,只能根據(jù)場景定奪,適合的才是最好的。
對于涉及到錢財這樣不能有一絲讓步的場景,C必須保證。網(wǎng)絡發(fā)生故障寧可停止服務,這是保證CP,舍棄A。比如前幾年支付寶光纜被挖斷的事件,在網(wǎng)絡出現(xiàn)故障的時候,支付寶就在可用性和數(shù)據(jù)一致性之間選擇了數(shù)據(jù)一致性,用戶感受到的是支付寶系統(tǒng)長時間宕機,但是其實背后是無數(shù)的工程師在恢復數(shù)據(jù),保證數(shù)數(shù)據(jù)的一致性。
對于其他場景,比較普遍的做法是選擇可用性和分區(qū)容錯性,舍棄強一致性,退而求其次使用最終一致性來保證數(shù)據(jù)的安全。
全稱:Basically Available(基本可用),Soft state(軟狀態(tài)),和 Eventually consistent(最終一致性)三個短語的縮寫
Base 理論是對 CAP 中一致性和可用性權(quán)衡的結(jié)果,其來源于對大型互聯(lián)網(wǎng)分布式實踐的總結(jié),是基于 CAP 定理逐步演化而來的。其核心思想是:
既是無法做到強一致性(Strong consistency),但每個應用都可以根據(jù)自身的業(yè)務特點,采用適當?shù)姆绞絹硎瓜到y(tǒng)達到最終一致性(Eventual consistency)。
總結(jié)
總的來說,BASE 理論面向的是大型高可用可擴展的分布式系統(tǒng),和傳統(tǒng)事務的 ACID 是相反的,它完全不同于 ACID 的強一致性模型,而是通過犧牲強一致性來獲得可用性,并允許數(shù)據(jù)在一段時間是不一致的。
網(wǎng)站題目:分布式CAPBASE理論-創(chuàng)新互聯(lián)
文章來源:http://vcdvsql.cn/article10/hosgo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、域名注冊、建站公司、ChatGPT、用戶體驗、服務器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容