c-資料一致性;
a-服務可用性;
p-服務對網路分割槽故障的容錯性
這三個特性在任何分布式系統中不能同時滿足,最多同時滿足兩個
zookeeper是個cp的,即任何時刻對zookeeper的訪問請求能得到一致的資料結果,同時系統對網路分割具備容錯性;但是它不能保證每次服務請求的可用性(注:也就是在極端環境下,zookeeper可能會丟棄一些請求,消費者程式需要重新請求才能獲得結果)。但是別忘了,zookeeper是分布式協調服務,它的職責是保證資料(注:配置資料,狀態資料)在其管轄下的所有服務之間保持同步、一致;所以就不難理解為什麼zookeeper被設計成cp而不是ap特性的了,如果是ap的,那麼將會帶來恐怖的後果(注:zookeeper就像交叉路口的訊號燈一樣,你能想象在交通要道突然訊號燈失靈的情況嗎?)。而且,作為zookeeper的核心實現演算法zab,就是解決了分布式系統下資料如何在多個服務之間保持同步問題的。
分布式定理 CAP定理
cap定理指的是,在乙個分布式系統中,只能滿足cap中的兩項。c consistency 一致性 a ailability 可用性 p partition tolerance 分割槽可容錯性 在任意分割槽網路故障的情況下系統仍能繼續執行 網路並不可靠,所以你應要支援分割槽容錯性,並需要在軟體可用性和...
理解分布式CAP定理
概念 c 一致性 指分布式系統中每個節點的資料備份在同一時刻保持一致。a 可用性 在集群中一部分節點故障後,集群整體是否還能響應客戶端的讀寫請求。p 分割槽容忍性 系統不能在一定時間內完成資料的一致性的情況下 例如部分節點宕機 網路狀況等 必須在c和a中做出選擇 分析與取捨 cap三種特性無法同時滿...
分布式系統 CAP理論
cp 天貓雙十一下單搶購,要保證一致性,沒貨了下單失敗 一般來說,如果不需要儲存服務級別的資訊,且服務例項是通過 nacos client 註冊,並能夠保證心跳上報,那麼就可以選擇 ap 模式。當前主流的服務如 spring cloud 和 dubbo 服務,都適用於 ap 模式,ap模式為了服務的...