日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分布式理论CAP定理

發布時間:2023/12/10 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式理论CAP定理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CAP原則又稱CAP定理,指的是在一個分布式系統中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區容錯性),三者不可兼得。

998年,加州大學的計算機科學家 Eric Brewer 提出,分布式系統有三個指標:

Consistency(一致性): 所有的節點上的數據時刻保持同步,強一致性;
Availability(可用性): 每個請求都能接受到一個響應,無論返回的數據是否一致;
Partition tolerance(分區容錯性): 系統應該能持續提供服務,即使在遇到某節點或網絡分區故障的時候。
它們的第一個字母分別是 C、A、P。
Eric Brewer 說,這三個指標不可能同時做到。這個結論就叫做 CAP 定理。

下面分別講述下這三個概念:

1.分區容錯性
相對于單點系統,分布式系統會部署在多臺機器上,機器之間有可能是跨區域的,比如服務器機房一個在北京,一個在上海,如果在這兩個機房之間構建了分布式系統,那么這兩個區域的機器是需要通信的,而只要通信就有可能出現通信失敗,所以分區容錯性P是我們在設計分布式系統中必須要考慮到的問題。

2.一致性
一致性是說客戶端從分布式系統中拿數據,不管從那一臺機器中獲取,都應該是最新的。

?

假設某一時間client向server1服務器更新vo->v1,之后不管從server1還是從server2取值都是v1,這樣才滿足一致性。而如果cleint往server1寫過數據后,從server2中去獲取值,此時server1和server2之間還未同步,那么就會依然獲取到vo,那么就不滿足一致性。

3.可用性
可用性是指,不管任何時候,client向任意一臺server發起請求,都能得到響應,不管獲得的數據是v0還是v1。

一致性和可用性之間的矛盾

因為分區容錯P的必然性,所以一致性C和可用性A無法同時成立。

?

如果保證 Server2的一致性,那么 Server1 必須在寫操作時,鎖定 Server2 的讀操作和寫操作。只有數據同步后,才能重新開放讀寫。鎖定期間,Server2 不能讀寫,這樣可用性就無法滿足。

如果保證 Server2 的可用性,那么就不能鎖定 Server2,所以一致性不成立。

綜上所述,Server2 無法同時做到一致性和可用性。系統設計時只能選擇一個目標。如果追求強一致性,那么無法保證所有節點的可用性;如果追求所有節點的可用性,那就沒法做到強一致性。

?

總結

以上是生活随笔為你收集整理的分布式理论CAP定理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。