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