CAP原理中,有三個要素:
一致性(Consistency)
可用性(Availability)
分區(qū)容錯性(Partition tolerance)
Consistency 一致性
一致性指“all nodes see the same data at the same time”,即更新操作成功并返回客戶端完成后,所有節(jié)點在同一時間的數(shù)據(jù)完全一致。分布式的一致性
對于一致性,可以分為從客戶端和服務(wù)端兩個不同的視角。從客戶端來看,一致性主要指的是多并發(fā)訪問時更新過的數(shù)據(jù)如何獲取的問題。從服務(wù)端來看,則是更新如何復制分布到整個系統(tǒng),
以保證數(shù)據(jù)最終一致。一致性是因為有并發(fā)讀寫才有的問題,因此在理解一致性的問題時,一定要注意結(jié)合考慮并發(fā)讀寫的場景。
從客戶端角度,多進程并發(fā)訪問時,更新過的數(shù)據(jù)在不同進程如何獲取的不同策略,決定了不同的一致性。對于關(guān)系型數(shù)據(jù)庫,要求更新過的數(shù)據(jù)能被后續(xù)的訪問都能看到,這是強一致性。
如果能容忍后續(xù)的部分或者全部訪問不到,則是弱一致性。如果經(jīng)過一段時間后要求能訪問到更新后的數(shù)據(jù),則是最終一致性。
Availability 可用性
可用性指“Reads and writes always succeed”,即服務(wù)一直可用,而且是正常響應(yīng)時間。
對于一個可用性的分布式系統(tǒng),每一個非故障的節(jié)點必須對每一個請求作出響應(yīng)。也就是,該系統(tǒng)使用的任何算法必須最終終止。當同時要求分區(qū)容忍性時,這是一個很強的定義:即使是嚴重的網(wǎng)絡(luò)錯誤,
每個請求必須終止。
好的可用性主要是指系統(tǒng)能夠很好的為用戶服務(wù),不出現(xiàn)用戶操作失敗或者訪問超時等用戶體驗不好的情況??捎眯酝ǔG闆r下可用性和分布式數(shù)據(jù)冗余,負載均衡等有著很大的關(guān)聯(lián)。
Partition Tolerance分區(qū)容錯性
分區(qū)容錯性指“the system continues to operate despite arbitrary message loss or failure of part of the system”,即分布式系統(tǒng)在遇到某節(jié)點或網(wǎng)絡(luò)分區(qū)故障的時候,仍然能夠?qū)ν馓峁M足一致性
和可用性的服務(wù)。
分區(qū)容錯性和擴展性緊密相關(guān)。在分布式應(yīng)用中,可能因為一些分布式的原因?qū)е孪到y(tǒng)無法正常運轉(zhuǎn)。好的分區(qū)容錯性要求能夠使應(yīng)用雖然是一個分布式系統(tǒng),而看上去卻好像是在一個可以運轉(zhuǎn)正常的整體。比如
現(xiàn)在的分布式系統(tǒng)中有某一個或者幾個機器宕掉了,其他剩下的機器還能夠正常運轉(zhuǎn)滿足系統(tǒng)需求,或者是機器之間有網(wǎng)絡(luò)異常,將分布式系統(tǒng)分隔未獨立的幾個部分,各個部分還能維持分布式系統(tǒng)的運作,這樣
就具有好的分區(qū)容錯性。
分享名稱:分布式系統(tǒng)CAP的原理介紹-創(chuàng)新互聯(lián)
標題鏈接:http://jinyejixie.com/article22/depgjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化、定制網(wǎng)站、響應(yīng)式網(wǎng)站、Google
廣告
聲明:本網(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)