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

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

BASE理論是eBay架構(gòu)師提出的。

BASE定理來源:是CAP中一致性和可用性的權(quán)衡結(jié)果,它來自大規(guī)?;ヂ?lián)網(wǎng)分布式系統(tǒng)的總結(jié),是基于CAP定理逐步演化而來的。

BASE定理的核心思想:即使無法做到強一致性,但是每個應(yīng)用可以根據(jù)自身的業(yè)務(wù)特定,采用合適的方式來達到最終一致性。

BASE是Basically Available(基本可用)、Soft state(軟狀態(tài))和Eventually consistent(最終一致性)三個短語的縮寫。

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

舉兩個例子:

響應(yīng)時間上的損失:正常情況下,一個在線搜索引擎需要在0.5秒之內(nèi)返回給用戶相應(yīng)的查詢結(jié)果,但由于出

現(xiàn)故障(比如系統(tǒng)部分機房發(fā)生斷電或斷網(wǎng)故障),查詢結(jié)果的響應(yīng)時間增加到了1~2秒。

功能上的損失:正常情況下,在一個電子商務(wù)網(wǎng)站(比如淘寶)上購物,消費者幾乎能夠順利地完成每一筆訂單。但在一些節(jié)日大促購物高峰的時候(比如雙十一、雙十二),由于消費者的購物行為激增,為了保護系統(tǒng)的穩(wěn)定性(或者保證一致性),部分消費者可能會被引導到一個降級頁面,“搶購人數(shù)眾多,請稍后再試”。

什么是軟狀態(tài)?

我們在之前學習過硬狀態(tài),指的就是ACID的原子性。

硬狀態(tài)只有在訂單狀態(tài)、積分發(fā)送成功、倉庫出單成功,即三者同時成功的情況才算支付成功。

軟狀態(tài)不需要完全符合ACID的原子性先把訂單狀態(tài)改成已支付成功,然后告訴用戶已經(jīng)成功了剩下在異步發(fā)送mq消息通知積分服務(wù)和倉庫服務(wù)即使消費失敗,MQ消息也會重新發(fā)送(重試)。

最終一致性

最終一致性強調(diào)的是系統(tǒng)中所有的數(shù)據(jù)副本,在經(jīng)過一段時間的同步后,最終能夠達到一個一致的狀態(tài)。

【如果文字看累了,可b站搜索“沙皮狗2021”,用聽的方式領(lǐng)略知識的魅力】

本文摘自 :https://blog.51cto.com/u

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