秒懂CAP理論

什麼是CAP

  • Consistency(一致性)
  • Availability(可用性)
  • Partition Tolerance(分區容錯性)
    CAP
    以上三點爲分佈式系統的三個指標,這三個指標不能同時做到(在數學上經過了十分嚴謹的是證明)這就被稱爲分佈式系統的CAP理論

CAP怎麼理解

  • 前提 大多數分佈式系統都分佈在多個不同的網絡中,不同的網絡稱之爲一個區
  • **Partition Tolerance(分區容錯性)**在分佈式系統中的某個節點或者網絡分區出現了故障的時候,整個系統仍然能對外提供滿足一致性和可用性的服務,也就是說部分故障不影響整體使用
  • Consistency(一致性) 在分佈式系統完成某寫操作後任何讀操作,所有分佈在不同子網(即,不同區)需要該數據的節點,都應該獲取到該寫操作寫入的最新的那個值,相當於要求分佈式系統中的各節點時時刻刻保持數據的一致性
  • Availability(可用性) 系統能夠每時每刻,迅速並正確的響應用戶的請求
  • 理解CAP 結合以上三點我們可以知道分區容錯性(P)必須保證,因爲網絡是一個極其不確定的因素(在平時生活中我們就能夠感受的到)當我們保證了分區容錯性必須成立那麼一致性(C)和可用性(A)就只能二選一了,爲什麼?結合前面所述P是必須要保證的,當我們需要保證C時就務必就要犧牲A因爲在保證C時由於網絡的不確定性,我們就必須讓在節點達成一致性之前,所有相關節點不可用,如果在達成C之前相關節點可用,那麼就不能保證C由此可知,在P必須成立的大前提下AC只能二選一
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章