CAP定理

在理論計算機科學中 ， CAP定理 （ CAP theorem ） ， 又被稱作布魯爾定理 （ Brewer's theorem ） ， 它指出對於一個分佈式計算系統來說 ， 不可能同時滿足以下三點 ： 一致性 （ Consistency ） （ 等同於所有節點訪問同一份最新的數據副本 ） 可用性 （ Availability ） （ 每次請求都能獲取到非錯的響應 — — 但是不保證獲取的數據爲最新數據 ） （ Partition tolerance ） （ 以實際效果而言 ， 分區相當於對通信的時限要求 。 系統如果不能在時限內達成數據一致性 ， 就意味着發生了分區的情況 ， 必須就當前操作在C和A之間做出選擇 。 ） 根據定理 ， 分佈式系統只能滿足三項中的兩項而不可能滿足全部三項 。 理解CAP理論的最簡單方式是想象兩個節點分處分區兩側 。 允許至少一個節點更新狀態會導致數據不一致 ， 即喪失了C性質 。 如果爲了保證數據一致性 ， 將分區一側的節點設置爲不可用 ， 那麼又喪失了A性質 。 除非兩個節點可以互相通信 ， 才能既保證C又保證A ， 這又會導致喪失P性質 。