軟件架構淺析-BASE理論

Base是Basically Available(基本可用)、Soft state(軟狀態)和Eventually consistent(最終一致性)三個短語的簡寫。BASE理論是對CAP中AP的一個擴展,通過犧牲強一致性來獲得可用性,當出現故障允許部分不可用但要保證核心功能可用,允許數據在一段時間內是不一致的,但最終達到一致狀態。滿足BASE理論的事務,我們稱之爲“柔性事務”。

①基本可用

基本可用指的是分佈式系統出現了不可預知故障的時候,允許損失部分可用性。響應時間合理延長,功能上適當做服務降級。如電商網站廣告服務出現問題了,商品依然可以正常瀏覽。

②弱狀態

弱狀態指的是允許系統中的數據存在中間狀態,並認爲該中間狀態不會永祥系統的整體可用性,即允許在各個節點數據同步時存在延時。如訂單的"支付中"、“數據同步中”等狀態,待數據最終一致後狀態改爲“成功”狀態。

③最終一致性

最終一致性強調的是系統中所有的數據副本,在經過一點時間 的同步之後,最終能夠達到一個一致的狀態。因此,最終一致性的本質是需要系統保證數據最終能夠達到一致。而不需要實時保證系統數據的一致性。如訂單的"支付中"狀態,最終會變爲“支付成功”或者"支付失敗",使訂單狀態與實際交易結果達成一致,但需要一定時間的延遲、等待。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章