分布式CAP理論和BASE理論

2021-10-23 03:20:43 字數 486 閱讀 5116

現如今, 在分布式場景下,集群規模越來越大,節點越來越多。所以說節點故障、網路故障會是常態化產生,因此分割槽容錯性(p)是必須要保證的。所以只能在一致性(c)和可用性(a)之間來進行取捨。但對於傳統的專案就可能有所不同,拿銀行的轉賬系統來說,涉及到金錢的對於資料一致性不能做出一絲的讓步,c必須保證,出現網路故障的話,寧可停止服務,可以在a和p之間做取捨。

在分布式系統中,我們往往追求的是可用性,它的重要程式比一致性要高,那麼如何實現高可用性呢? 前人已經給我們提出來了另外乙個理論,就是base理論,它是用來對cap定理進行進一步擴充的。

base理論指的是:

base理論是對cap中的一致性和可用性進行乙個權衡的結果,理論的核心思想就是:我們無法做到強一致,但每個應用都可以根據自身的業務特點,採用適當的方式來使系統達到最終一致性(eventual consistency)。

分布式理論 BASE理論

根據cap定理,我們在分布式系統最多只能在 一致性 可用性 分割槽容錯性 中三選二。那能不能解決3選2的問題呢?想要解決3選2的問題,首先需要思考分割槽是百分之百出現的嗎?如果不出現分割槽,那麼就能夠同時滿足cap。如果出現了分割槽,可以根據策略進行調整。比如c不必使用那麼強的一致性,可以先將資料存...

分布式CAP理論

根據維基百科定義 cap 根據定理,乙個分布式系統最多只能滿足其中兩項,不可能同時滿則c a p三項 首先說一下對各項原則的理解 1 一致性c 單機環境下,資料只有乙份,所有的客戶端訪問的是同乙份資料,不會出現兩個客戶端看到不一樣的資料 分布式環境下,同乙份資料會儲存在多台伺服器上,大量客戶端來訪問...

分布式理論CAP學習

前言 今天背面試題,看到了zookeeper和eureka的區別,看到了cap原則 尷尬了zookeeper 之前學kafka的使用配置過zookeeper集群,但是忘得差不多了 之前使用這些服務註冊的時候並沒有看什麼原理,倒是能夠直接上手,以後還是多看看原理吧,不浮在表面了分布式cap定理,為什麼...