分布式系统CAP定理
一、定義
C:Consistenct(強一致性)
A:Availiablity(高可用性)
P:Partition tolerance(分區容錯性)
二、經典CAP圖
三、CAP的3進2
CAP理論的核心是:一個分布式系統不可能同時很好的滿足一致性、可用性和分區容錯性這三個需求,最多只能同時較好的滿足兩個。而由于當前的網絡硬件肯定會出現延遲丟包等問題,分區容忍性是我們必須需要實現的,所以我們只能在一致性和可用性之間進行權衡。
如:CA 傳統Oracle數據庫、AP 大多數網站架構的選擇、CP Redis、Mongodb
注意:分布式架構的時候必須做出取舍。
滿足 CA 原則、滿足 CP 原則和滿足 AP 原則的選擇:
CA - 單點集群,滿足一致性,可用性的系統,通常在可擴展性上不太強大。
CP - 滿足一致性,分區容忍性的系統,通常性能不是特別高。
AP - 滿足可用性,分區容忍性的系統,通常可能對一致性要求低一些。
四、BASE是什么
BASE其實是下面三個術語的縮寫:
基本可用(Basically Available):響應時間上的損失和功能上的損失
軟狀態(Soft state):允許系統中的數據存在中間狀態
最終一致(Eventually consistent):系統能夠保證在沒有其他新的更新操作的情況下,數據最終一定能夠達到一致的狀態
它的思想是通過讓系統放松對某一時刻數據一致性的要求來換取系統整體伸縮性和性能上改觀。為什么這么說呢,緣由就在于大型系統往往由于地域分布和極高性能的要求,不可能采用分布式事務來完成這些指標,要想獲得這些指標,我們必須采用另外一種方式來完成,這里BASE就是解決這個問題的辦法。
總結
以上是生活随笔為你收集整理的分布式系统CAP定理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式系统Quorum机制
- 下一篇: 分布式键值系统Amazon Dynamo