BASE理論是eBay架構(gòu)師提出的。
BASE定理來(lái)源:是CAP中一致性和可用性的權(quán)衡結(jié)果,它來(lái)自大規(guī)?;ヂ?lián)網(wǎng)分布式系統(tǒng)的總結(jié),是基于CAP定理逐步演化而來(lái)的。
BASE定理的核心思想:即使無(wú)法做到強(qiáng)一致性,但是每個(gè)應(yīng)用可以根據(jù)自身的業(yè)務(wù)特定,采用合適的方式來(lái)達(dá)到最終一致性。
BASE是Basically Available(基本可用)、Soft state(軟狀態(tài))和Eventually consistent(最終一致性)三個(gè)短語(yǔ)的縮寫(xiě)。
基本可用是指分布式系統(tǒng)在出現(xiàn)不可預(yù)知故障的時(shí)候,允許損失部分可用性——但請(qǐng)注意,這絕不等價(jià)于系統(tǒng)不可用。
舉兩個(gè)例子:
響應(yīng)時(shí)間上的損失:正常情況下,一個(gè)在線搜索引擎需要在0.5秒之內(nèi)返回給用戶相應(yīng)的查詢結(jié)果,但由于出
現(xiàn)故障(比如系統(tǒng)部分機(jī)房發(fā)生斷電或斷網(wǎng)故障),查詢結(jié)果的響應(yīng)時(shí)間增加到了1~2秒。
功能上的損失:正常情況下,在一個(gè)電子商務(wù)網(wǎng)站(比如淘寶)上購(gòu)物,消費(fèi)者幾乎能夠順利地完成每一筆訂單。但在一些節(jié)日大促購(gòu)物高峰的時(shí)候(比如雙十一、雙十二),由于消費(fèi)者的購(gòu)物行為激增,為了保護(hù)系統(tǒng)的穩(wěn)定性(或者保證一致性),部分消費(fèi)者可能會(huì)被引導(dǎo)到一個(gè)降級(jí)頁(yè)面,“搶購(gòu)人數(shù)眾多,請(qǐng)稍后再試”。
什么是軟狀態(tài)?
我們?cè)谥皩W(xué)習(xí)過(guò)硬狀態(tài),指的就是ACID的原子性。
硬狀態(tài)只有在訂單狀態(tài)、積分發(fā)送成功、倉(cāng)庫(kù)出單成功,即三者同時(shí)成功的情況才算支付成功。
軟狀態(tài)不需要完全符合ACID的原子性先把訂單狀態(tài)改成已支付成功,然后告訴用戶已經(jīng)成功了剩下在異步發(fā)送mq消息通知積分服務(wù)和倉(cāng)庫(kù)服務(wù)即使消費(fèi)失敗,MQ消息也會(huì)重新發(fā)送(重試)。
最終一致性
最終一致性強(qiáng)調(diào)的是系統(tǒng)中所有的數(shù)據(jù)副本,在經(jīng)過(guò)一段時(shí)間的同步后,最終能夠達(dá)到一個(gè)一致的狀態(tài)。
【如果文字看累了,可b站搜索“沙皮狗2021”,用聽(tīng)的方式領(lǐng)略知識(shí)的魅力】
本文摘自 :https://blog.51cto.com/u