當(dāng)前位置:首頁(yè) > IT技術(shù) > Web編程 > 正文

網(wǎng)站高可用架構(gòu)之BASE原理
2021-12-13 17:44:20

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

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >