CAP理論總結

  • CAP理論概述

    • C,A,P是什麼?
      C(一致性):所有的狀態都是一致的,即數據都相同.
      A(可用性):能夠在一般情況下都能提供可用的服務.
      P(分區容錯性): 允許網絡在分區之間通信失敗.

    • CA架構
      傳統上的單體架構,沒有跨網絡通信.

    • CP/AP架構(一致性與可用性的選擇)
      由於分佈式環境下,服務節點隨時可能宕機.所以我們通常需要部署多個相同的副本節點.

      如果選擇了一致性,爲了保證數據是一致的,一個進程在寫數據的時候,其他進程是不能寫與讀的,我們需要加鎖同步.這樣其他沒有獲得鎖的請求只能等待,無法保證可用性.

      如果選擇了可用性,我們需要在寫完之後將數據同步到其他副本節點上,但是由於網絡因素,我們數據同步可能會失敗,這就使得一部分副本數據未同步過來,所有數據中有不一致的情況.

  • 總結

    CAP,BASE告訴我們,要在可用性與一致性之中取捨.例如,主從複製架構中,副本節點越多可用性越高,數據複製花銷也越大.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章