CAP和BASE的理論是什么

這篇文章主要講解了“CAP和BASE的理論是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“CAP和BASE的理論是什么”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到軹城網(wǎng)站設(shè)計(jì)與軹城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋軹城地區(qū)。

CAP

CAP原則又稱CAP定理,指的是在一個(gè)分布式系統(tǒng)中,一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partition tolerance)。CAP 原則指的是,這三個(gè)要素最多只能同時(shí)實(shí)現(xiàn)兩點(diǎn),不可能三者兼顧。

一致性

在分布式環(huán)境下,一致性是指數(shù)據(jù)在多個(gè)副本之間能否保持一致的特性。在一致性的需求下,當(dāng)一個(gè)系統(tǒng)在數(shù)據(jù)一致的狀態(tài)下執(zhí)行更新操作后,應(yīng)該保證系統(tǒng)的數(shù)據(jù)仍然處于一直的狀態(tài)。

對(duì)于一個(gè)將數(shù)據(jù)副本分布在不同分布式節(jié)點(diǎn)上的系統(tǒng)來說,如果對(duì)節(jié)點(diǎn)A的數(shù)據(jù)進(jìn)行了更新操作并且更新成功后,卻沒有使得節(jié)點(diǎn)B上的數(shù)據(jù)得到相應(yīng)的更新,于是在對(duì)節(jié)點(diǎn)B的數(shù)據(jù)進(jìn)行讀取操作時(shí),獲取的依然是老數(shù)據(jù)(或稱為臟數(shù)據(jù)。在分布式系統(tǒng)中,一個(gè)數(shù)據(jù)項(xiàng)的更新操作執(zhí)行成功后,所有的用戶都可以讀取到其最新的值,那么這樣的系統(tǒng)就被認(rèn)為具有強(qiáng)一致性。

可用性

可用性是指系統(tǒng)提供的服務(wù)必須一直處于可用的狀態(tài),對(duì)于用戶的每一個(gè)操作請(qǐng)求總是能夠在有限的時(shí)間內(nèi)返回結(jié)果。

有限時(shí)間內(nèi)

對(duì)于用戶的一個(gè)操作請(qǐng)求,系統(tǒng)必須能夠在指定的時(shí)間內(nèi)返回對(duì)應(yīng)的處理結(jié)果,如果超過了這個(gè)時(shí)間范圍,那么系統(tǒng)就被認(rèn)為是不可用的。另外,"有限的時(shí)間內(nèi)"是指系統(tǒng)設(shè)計(jì)之初就設(shè)計(jì)好的運(yùn)行指標(biāo),通常不同系統(tǒng)之間有很大的不同,無論如何,對(duì)于用戶請(qǐng)求,系統(tǒng)必須存在一個(gè)合理的響應(yīng)時(shí)間,否則用戶便會(huì)對(duì)系統(tǒng)感到失望。

返回結(jié)果

"返回結(jié)果"是可用性的另一個(gè)非常重要的指標(biāo),它要求系統(tǒng)在完成對(duì)用戶請(qǐng)求的處理后,返回一個(gè)正常的響應(yīng)結(jié)果。正常的響應(yīng)結(jié)果通常能夠明確地反映出隊(duì)請(qǐng)求的處理結(jié)果,即成功或失敗,而不是一個(gè)讓用戶感到困惑的返回結(jié)果。

分區(qū)容錯(cuò)性

分區(qū)容錯(cuò)性約束了一個(gè)分布式系統(tǒng)具有如下特性:分布式系統(tǒng)在遇到任何網(wǎng)絡(luò)分區(qū)故障的時(shí)候,仍然需要能夠保證對(duì)外提供滿足一致性和可用性的服務(wù),除非是整個(gè)網(wǎng)絡(luò)環(huán)境都發(fā)生了故障。

對(duì)于一個(gè)分布式系統(tǒng)分區(qū)容錯(cuò)性(P)是必須滿足的。所以一般分布式系統(tǒng)實(shí)現(xiàn)CP或者AP

BASE

BASE是Basically Available(基本可用)、Soft state(軟狀態(tài))和Eventually consistent(最終一致性)三個(gè)短語的縮寫。BASE理論是對(duì)CAP中一致性和可用性權(quán)衡的結(jié)果。BASE理論的核心思想是:即使無法做到強(qiáng)一致性,但每個(gè)應(yīng)用都可以根據(jù)自身業(yè)務(wù)特點(diǎn),采用適當(dāng)?shù)姆绞絹硎瓜到y(tǒng)達(dá)到最終一致性。

基本可用

基本可用是指分布式系統(tǒng)在出現(xiàn)不可預(yù)知故障的時(shí)候,允許損失部分可用性。注意,這絕不等價(jià)于系統(tǒng)不可用。比如:

  1. 響應(yīng)時(shí)間上的損失。正常情況下,一個(gè)在線搜索引擎需要在0.5秒之內(nèi)返回給用戶相應(yīng)的查詢結(jié)果,但由于出現(xiàn)故障,查詢結(jié)果的響應(yīng)時(shí)間增加了1~2秒

  2. 系統(tǒng)功能上的損失:正常情況下,在一個(gè)電子商務(wù)網(wǎng)站上進(jìn)行購物的時(shí)候,消費(fèi)者幾乎能夠順利完成每一筆訂單,但是在一些節(jié)日大促購物高峰的時(shí)候,由于消費(fèi)者的購物行為激增,為了保護(hù)購物系統(tǒng)的穩(wěn)定性,部分消費(fèi)者可能會(huì)被引導(dǎo)到一個(gè)降級(jí)頁面。

軟狀態(tài)

軟狀態(tài)指允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),并認(rèn)為該中間狀態(tài)的存在不會(huì)影響系統(tǒng)的整體可用性,即允許系統(tǒng)在不同節(jié)點(diǎn)的數(shù)據(jù)副本之間進(jìn)行數(shù)據(jù)同步的過程存在延時(shí)。

最終一致性

最終一致性強(qiáng)調(diào)的是所有的數(shù)據(jù)副本,在經(jīng)過一段時(shí)間的同步之后,最終都能夠達(dá)到一個(gè)一致的狀態(tài)。因此,最終一致性的本質(zhì)是需要系統(tǒng)保證最終數(shù)據(jù)能夠達(dá)到一致,而不需要實(shí)時(shí)保證系統(tǒng)數(shù)據(jù)的強(qiáng)一致性。

總的來說,BASE理論面向的是大型高可用可擴(kuò)展的分布式系統(tǒng),和傳統(tǒng)的事物ACID特性是相反的,它完全不同于ACID的強(qiáng)一致性模型,而是通過犧牲強(qiáng)一致性來獲得可用性,并允許數(shù)據(jù)在一段時(shí)間內(nèi)是不一致的,但最終達(dá)到一致狀態(tài)。但同時(shí),在實(shí)際的分布式場(chǎng)景中,不同業(yè)務(wù)單元和組件對(duì)數(shù)據(jù)一致性的要求是不同的,因此在具體的分布式系統(tǒng)架構(gòu)設(shè)計(jì)過程中,ACID特性和BASE理論往往又會(huì)結(jié)合在一起。

zookeeper的CAP

在此ZooKeeper保證的是CP。zookeeper可用性是無法保證的

  1. 不能保證每次服務(wù)請(qǐng)求的可用性。任何時(shí)刻對(duì)ZooKeeper的訪問請(qǐng)求能得到一致的數(shù)據(jù)結(jié)果,同時(shí)系統(tǒng)對(duì)網(wǎng)絡(luò)分割具備容錯(cuò)性;但是它不能保證每次服務(wù)請(qǐng)求的可用性。所以說,ZooKeeper不能保證服務(wù)可用性。

  2. 進(jìn)行l(wèi)eader選舉時(shí)集群都是不可用。在使用ZooKeeper獲取服務(wù)列表時(shí),當(dāng)master節(jié)點(diǎn)因?yàn)榫W(wǎng)絡(luò)故障與其他節(jié)點(diǎn)失去聯(lián)系時(shí),剩余節(jié)點(diǎn)會(huì)重新進(jìn)行l(wèi)eader選舉。問題在于,選舉leader的時(shí)間太長,30 ~ 120s, 且選舉期間整個(gè)zk集群都是不可用的,這就導(dǎo)致在選舉期間注冊(cè)服務(wù)癱瘓,雖然服務(wù)能夠最終恢復(fù),但是漫長的選舉時(shí)間導(dǎo)致的注冊(cè)長期不可用是不能容忍的。所以說,ZooKeeper不能保證服務(wù)可用性。

感謝各位的閱讀,以上就是“CAP和BASE的理論是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)CAP和BASE的理論是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

當(dāng)前標(biāo)題:CAP和BASE的理論是什么
地址分享:http://muchs.cn/article46/gheihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)、軟件開發(fā)、搜索引擎優(yōu)化、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)