一句話明白CAP原理

CAP原理

在分佈式服務大行其道的今天,我們經常會聽到CAP原理這個詞?

那麼什麼是CAP原理,

CAP原理是現代分佈式系統的理論基石,好比是分佈式領域的牛頓定律。CAP原理髮布後,各種分佈式存儲中間件如雨後春筍般一個個冒出來了。我們這裡只理解CAP,不對其原理做深入研究。

一句話明白CAP原理

CAP三個字母分別代表:

  • C - Consistent ,一致性
  • A - Availability ,可用性
  • P - Partition tolerance ,分區容錯性

分佈式系統之所以叫分佈式,是因為提供服務的各個節點分佈在不同機器上,相互之間通過網絡交互。那麼必然存在網絡故障斷開的風險,這個網絡斷開的專業場景成為網絡分區。

在網絡分區發生時,兩個分佈式節點之間無法進行通信,那麼我們對一個節點進行的修改操作將無法同步到另外一個節點,所以數據的「一致性」將無法滿足,因為兩個分佈式節點的數據不再保持一致。除非我們犧牲「可用性」,也就是暫停分佈式節點服務,在網絡分區發生時,不再提供修改數據的功能,直到網絡狀況完全恢復正常再繼續對外提供服務。或者為了保證可用性,而犧牲數據一致性。

一句話明白CAP原理

所以,CAP一句話就是,在網絡分區時,不能同時保證可用性和一致性。

為了保證分佈式中間件的可用性,大部分中間件會支持最終一致性。

一句話明白CAP原理


分享到:


相關文章: