CAP的理解
1.CAP定理:
? 指的是在一個分布式系統中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分區容錯性),三者不可同時獲得
? 一致性(c):所有節點都可以訪問到最新數據
? 可用性(A):每個請求都可以得到響應的,不管請求是成功還是失敗
? 分區容錯性(P):除了全部整體網絡故障,其他故障都不能導致整個系統不可用
?
2.CAP理論就是說在分布式存儲系統中,最多只能實現上面的倆點。而由于當前的網絡硬件肯定會出現延遲丟包等問題,所以分區容忍性是我們必須需要實現的,所以我們只能在一致性和可用性之間進行權衡
CA: 如果不要求P(不允許分區),則C(強一致性)和A(可用性)是可以保證的。但放棄P的同時也就意味著放棄了系統的擴展性,也就是分布式節點受限,沒辦法部署子節點,這是違背分布式系統設計的初衷的
?
CP: 如果不要求A(可用),每個請求都需要在服務器之間保持強一致,而P(分區)會導致同步時間無限延長(也就是等待數據同步完才能正常訪問服務),一旦發生網絡故障或者消息丟失等情況,就要犧牲用戶的體驗,等待所有數據全部一致了之后再讓用戶訪問系統
?
AP:要高可用并允許分區,則需放棄一致性。一旦分區發生,節點之間可能會失去聯系,為了高可用,每個節點只能用本地數據提供服務,而這樣會導致全局數據的不一致性。
總結
- 上一篇: Java实现简易客房管理系统
- 下一篇: 针对小米手机fastboot模式下电脑无