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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

分布式理论:CAP理论

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

2019獨角獸企業重金招聘Python工程師標準>>>

一、CAP理論原理

1、CAP理論介紹

2000年7月,加州大學伯克利分校的Eric Brewer教授在ACM PODC會議上提出CAP猜想。2年后,麻省理工學院的Seth Gilbert和Nancy Lynch從理論上證明了CAP。之后,CAP理論正式成為分布式計算領域的公認定理。

CAP理論:

一個分布式系統最多只能同時滿足一致性(Consistency)、可用性(Availability)和分區容錯性(Partition tolerance)這三項中的兩項。

2、CAP理論解釋

C:Consistency一致性

一致性指“all nodes see the same data at the same time”,即更新操作成功并返回客戶端完成后,所有節點在同一時間的數據完全一致。

A: Availability可用性

可用性指“Reads and writes always succeed”,即服務一直可用,而且是正常響應時間。

P: Partition tolerance分區容錯性

分區容錯性指“the system continues to operate despite arbitrary message loss or failure of part of the system”,即分布式系統在遇到某節點或網絡分區故障的時候,仍然能夠對外提供滿足一致性和可用性的服務。

二、CAP使用權衡

1、保留CA,放棄P

如果想避免分區容錯性問題的發生,一種做法是將所有的數據(與事務相關的)都放在一臺機器上。雖然無法100%保證系統不會出錯,但不會碰到由分區帶來的負面效果。當然這個選擇會嚴重的影響系統的擴展性。

作為一個分布式系統,放棄P,即相當于放棄了分布式,一旦并發性很高,單機服務根本不能承受壓力。

像很多銀行服務,確確實實就是舍棄了P,只用單臺小型機+ORACLE保證服務可用性。

2、保留CP,放棄A

相對于放棄“分區容錯性“來說,其反面就是放棄可用性。一旦遇到分區容錯故障,那么受到影響的服務需要等待一定的時間,因此在等待期間系統無法對外提供服務。

作為分布式系統,有分區服務發生問題很有可能,如果因為某些服務不能用,導致整個服務都不能用,這個根本不是好的分布式系統。

3、保留AP,舍棄C

這里所說的放棄一致性,并不是完全放棄數據一致性,而是放棄數據的強一致性。即放棄了同一時刻的數據一致性,而保留數據的最終一致性。

以網絡購物為例,對只剩下一件庫存的商品,如果同時接受到了兩份訂單,那么較晚的訂單將被告知商品告罄。

通常情況下,很多分布式服務系統都是采用該方案,保證可用性性,分布式服務,因為某些分區服務發生問題,先容忍,最終通過一些折中的方法達到最終數據一致性。

轉載于:https://my.oschina.net/haoran100/blog/712549

總結

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

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