新買冰箱要靜置多少時(shí)間才通電(新買的冰箱要靜置多久才可以使用)
2024-09-28
更新時(shí)間:2024-09-28 10:06:47作者:未知
cap什么意思(數(shù)據(jù)一致性,CAP的意義及發(fā)展)。本站來告訴相關(guān)信息,希望對您有所幫助。
CAP的意義及發(fā)展
在系統(tǒng)架構(gòu)時(shí),應(yīng)該根據(jù)具體的業(yè)務(wù)場景來權(quán)衡CAP。比如,對于大多數(shù)互聯(lián)網(wǎng)應(yīng)用來說(如門戶網(wǎng)站),因?yàn)闄C(jī)器數(shù)量龐大,部署節(jié)點(diǎn)分散,網(wǎng)絡(luò)故障是常態(tài)的,可用性是必須保證的,所以只有舍棄一致性來保證服務(wù)的AP。而對于銀行等需要確保一致性的場景,通常會權(quán)衡CA和CP模型,CA模型網(wǎng)絡(luò)故障時(shí)完全不可用,CP模型具備部分可用性。
CAP最新發(fā)展
Eric Brewer在2012年發(fā)表文章指出了CAP里面“三選二”的做法存在一定的誤導(dǎo)性。主要體現(xiàn)在以下3個(gè)方面。
·由于分區(qū)很少發(fā)生,那么在系統(tǒng)不存在分區(qū)的情況下沒什么理由犧牲C或A。
·C與A之間的取舍可以在同一系統(tǒng)內(nèi)以非常細(xì)小的粒度反復(fù)發(fā)生,而每一次的決策可能因?yàn)榫唧w的操作,乃至因?yàn)闋可嫣囟ǖ臄?shù)據(jù)或用戶而有所不同。
·這3種性質(zhì)都可以在一定程度上衡量,并不是非黑即白的有或無。
可用性顯然是在0%~100%連續(xù)變化的,一致性分很多級別,連分區(qū)也可以細(xì)分為不同含義,如系統(tǒng)內(nèi)的不同部分對于是否存在分區(qū)可以有不一樣的認(rèn)知。
理解CAP理論最簡單的方式是想象兩個(gè)節(jié)點(diǎn)分處分區(qū)兩側(cè)。允許至少一個(gè)節(jié)點(diǎn)更新狀態(tài)會導(dǎo)致數(shù)據(jù)不一致,即喪失了C性質(zhì)。如果為了保證數(shù)據(jù)一致性,將分區(qū)一側(cè)的節(jié)點(diǎn)設(shè)置為不可用,那么又喪失了A性質(zhì)。除非兩個(gè)節(jié)點(diǎn)可以互相通信,才能既保證C又保證A,但這又會導(dǎo)致喪失P性質(zhì)。一般來說跨區(qū)域的系統(tǒng),設(shè)計(jì)師無法舍棄P性質(zhì),那么就只能在數(shù)據(jù)一致性和可用性上做一個(gè)艱難選擇。不確切地說,NoSQL運(yùn)動的主題其實(shí)是創(chuàng)造各種可用性優(yōu)先、數(shù)據(jù)一致性其次的方案,而傳統(tǒng)數(shù)據(jù)庫堅(jiān)守ACID特性,做的是相反的事情。
BASE
BASE(Basically Available、Soft state、Eventual consistency)來自互聯(lián)網(wǎng)的電子商務(wù)領(lǐng)域的實(shí)踐,它是基于CAP理論逐步演化而來的,核心思想是即便不能達(dá)到強(qiáng)一致性(Strong Consistency),但可以根據(jù)應(yīng)用特點(diǎn)采用適當(dāng)?shù)姆绞絹磉_(dá)到最終一致性(Eventual Consistency)的效果。BASE是對CAP中C和A的延伸。BASE的含義如下。
·Basically Available:基本可用。
·Soft state:軟狀態(tài)/柔性事務(wù),即狀態(tài)可以有一段時(shí)間的不同步。
·Eventual consistency:最終一致性。
BASE是反ACID的,它完全不同于ACID模型,犧牲強(qiáng)一致性,獲得基本可用性、柔性和可靠性,并要求達(dá)到最終一致性。