日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

分布式系統(tǒng)中的CAP理論,面試必問,你理解了嘛?

來源: 責(zé)編: 時間:2023-08-05 11:44:53 5071觀看
導(dǎo)讀 對于剛剛接觸分布式系統(tǒng)的小伙伴們來說,一提起分布式系統(tǒng),就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統(tǒng)中的CAP理論。保證你能聽懂。1998年,加州大學(xué)

對于剛剛接觸分布式系統(tǒng)的小伙伴們來說,一提起分布式系統(tǒng),就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統(tǒng)中的CAP理論。保證你能聽懂。RUm28資訊網(wǎng)——每日最新資訊28at.com

1998年,加州大學(xué)的計算機科學(xué)家 Eric Brewer 提出,分布式系統(tǒng)有三個指標。RUm28資訊網(wǎng)——每日最新資訊28at.com

  • Consistency
  • Availability
  • Partition tolerance

它們的第一個字母分別是 C、A、P。RUm28資訊網(wǎng)——每日最新資訊28at.com

Eric Brewer 說,這三個指標不可能同時做到。這個結(jié)論就叫做 CAP 定理。RUm28資訊網(wǎng)——每日最新資訊28at.com

一、Partition tolerance

先看 Partition tolerance,中文叫做"分區(qū)容錯"。RUm28資訊網(wǎng)——每日最新資訊28at.com

大多數(shù)分布式系統(tǒng)都分布在多個子網(wǎng)絡(luò)。每個子網(wǎng)絡(luò)就叫做一個區(qū)(partition)。分區(qū)容錯的意思是,區(qū)間通信可能失敗。比如,一臺服務(wù)器放在中國,另一臺服務(wù)器放在美國,這就是兩個區(qū),它們之間可能無法通信。RUm28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片RUm28資訊網(wǎng)——每日最新資訊28at.com

上圖中,G1 和 G2 是兩臺跨區(qū)的服務(wù)器。G1 向 G2 發(fā)送一條消息,G2 可能無法收到。系統(tǒng)設(shè)計的時候,必須考慮到這種情況。RUm28資訊網(wǎng)——每日最新資訊28at.com

一般來說,分區(qū)容錯無法避免,因此可以認為 CAP 的 P 總是成立。CAP 定理告訴我們,剩下的 C 和 A 無法同時做到。RUm28資訊網(wǎng)——每日最新資訊28at.com

二、Consistency

Consistency 中文叫做"一致性"。意思是,寫操作之后的讀操作,必須返回該值。舉例來說,某條記錄是 v0,用戶向 G1 發(fā)起一個寫操作,將其改為 v1。RUm28資訊網(wǎng)——每日最新資訊28at.com

接下來,用戶的讀操作就會得到 v1。這就叫一致性。RUm28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片RUm28資訊網(wǎng)——每日最新資訊28at.com

問題是,用戶有可能向 G2 發(fā)起讀操作,由于 G2 的值沒有發(fā)生變化,因此返回的是 v0。G1 和 G2 讀操作的結(jié)果不一致,這就不滿足一致性了。RUm28資訊網(wǎng)——每日最新資訊28at.com

為了讓 G2 也能變?yōu)?v1,就要在 G1 寫操作的時候,讓 G1 向 G2 發(fā)送一條消息,要求 G2 也改成 v1。RUm28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片RUm28資訊網(wǎng)——每日最新資訊28at.com

這樣的話,用戶向 G2 發(fā)起讀操作,也能得到 v1。RUm28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片RUm28資訊網(wǎng)——每日最新資訊28at.com

三、Availability

Availability 中文叫做"可用性",意思是只要收到用戶的請求,服務(wù)器就必須給出回應(yīng)。RUm28資訊網(wǎng)——每日最新資訊28at.com

用戶可以選擇向 G1 或 G2 發(fā)起讀操作。不管是哪臺服務(wù)器,只要收到請求,就必須告訴用戶,到底是 v0 還是 v1,否則就不滿足可用性。RUm28資訊網(wǎng)——每日最新資訊28at.com

四、Consistency 和 Availability 的矛盾

一致性和可用性,為什么不可能同時成立?答案很簡單,因為可能通信失敗(即出現(xiàn)分區(qū)容錯)。RUm28資訊網(wǎng)——每日最新資訊28at.com

如果保證 G2 的一致性,那么 G1 必須在寫操作時,鎖定 G2 的讀操作和寫操作。只有數(shù)據(jù)同步后,才能重新開放讀寫。鎖定期間,G2 不能讀寫,沒有可用性不。RUm28資訊網(wǎng)——每日最新資訊28at.com

如果保證 G2 的可用性,那么勢必不能鎖定 G2,所以一致性不成立。RUm28資訊網(wǎng)——每日最新資訊28at.com

綜上所述,G2 無法同時做到一致性和可用性。系統(tǒng)設(shè)計時只能選擇一個目標。如果追求一致性,那么無法保證所有節(jié)點的可用性;如果追求所有節(jié)點的可用性,那就沒法做到一致性。RUm28資訊網(wǎng)——每日最新資訊28at.com

在什么場合,可用性高于一致性?RUm28資訊網(wǎng)——每日最新資訊28at.com

舉例來說,發(fā)布一張網(wǎng)頁到 CDN,多個服務(wù)器有這張網(wǎng)頁的副本。后來發(fā)現(xiàn)一個錯誤,需要更新網(wǎng)頁,這時只能每個服務(wù)器都更新一遍。RUm28資訊網(wǎng)——每日最新資訊28at.com

一般來說,網(wǎng)頁的更新不是特別強調(diào)一致性。短時期內(nèi),一些用戶拿到老版本,另一些用戶拿到新版本,問題不會特別大。當然,所有人最終都會看到新版本。所以,這個場合就是可用性高于一致性。RUm28資訊網(wǎng)——每日最新資訊28at.com

五、驗證CAP理論

系統(tǒng)總是會有錯誤,那我們就來看看可能會出現(xiàn)什么錯誤。RUm28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片RUm28資訊網(wǎng)——每日最新資訊28at.com

N1節(jié)點更新了V0到V1,想在也想把這個消息通過M操作告訴N1節(jié)點,卻發(fā)生了網(wǎng)絡(luò)故障。這時候小明和小華都要同時訪問這個數(shù)據(jù),怎么辦呢?現(xiàn)在我們依然想要我們的系統(tǒng)具有CAP三個特性,我們分析一下會發(fā)生什么。RUm28資訊網(wǎng)——每日最新資訊28at.com

(1)系統(tǒng)網(wǎng)絡(luò)發(fā)生了故障,但是系統(tǒng)依然可以訪問,因此具有容錯性。RUm28資訊網(wǎng)——每日最新資訊28at.com

(2)小明在訪問節(jié)點N1的時候更改了V0到V1,想要小華訪問節(jié)點N2的V數(shù)據(jù)庫的時候是V1,因此需要等網(wǎng)絡(luò)故障恢復(fù),將N2節(jié)點的數(shù)據(jù)庫進行更新才可以。RUm28資訊網(wǎng)——每日最新資訊28at.com

(3)在網(wǎng)絡(luò)故障恢復(fù)的這段時間內(nèi),想要系統(tǒng)滿足可用性,是不可能的。因為可用性要求隨時隨地訪問系統(tǒng)都是正確有效的。這就出現(xiàn)了矛盾。RUm28資訊網(wǎng)——每日最新資訊28at.com

正是這個矛盾所以CAP三個特性肯定不能同時滿足。既然不能滿足,那我們就進行取舍。RUm28資訊網(wǎng)——每日最新資訊28at.com

有兩種選擇:RUm28資訊網(wǎng)——每日最新資訊28at.com

(1)犧牲數(shù)據(jù)一致性,也就是小明看到的衣服數(shù)量是10,買了一件應(yīng)該是9了。但是小華看到的依然是10。RUm28資訊網(wǎng)——每日最新資訊28at.com

(2)犧牲可用性,也就是小明看到的衣服數(shù)量是10,買了一件應(yīng)該是9了。但是小華想要獲取的最新的數(shù)據(jù)的話,那就一直等待阻塞,一直到網(wǎng)絡(luò)故障恢復(fù)。RUm28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在你可以看到了CAP三個特性肯定是不能同時滿足的,但是可以滿足其中兩個。RUm28資訊網(wǎng)——每日最新資訊28at.com

六、CAP特性的取舍

我們分析一下既然可以滿足兩個,那么舍棄哪一個比較好呢?RUm28資訊網(wǎng)——每日最新資訊28at.com

(1)滿足CA舍棄P,也就是滿足一致性和可用性,舍棄容錯性。但是這也就意味著你的系統(tǒng)不是分布式的了,因為涉及分布式的想法就是把功能分開,部署到不同的機器上。RUm28資訊網(wǎng)——每日最新資訊28at.com

(2)滿足CP舍棄A,也就是滿足一致性和容錯性,舍棄可用性。如果你的系統(tǒng)允許有段時間的訪問失效等問題,這個是可以滿足的。就好比多個人并發(fā)買票,后臺網(wǎng)絡(luò)出現(xiàn)故障,你買的時候系統(tǒng)就崩潰了。RUm28資訊網(wǎng)——每日最新資訊28at.com

(3)滿足AP舍棄C,也就是滿足可用性和容錯性,舍棄一致性。這也就是意味著你的系統(tǒng)在并發(fā)訪問的時候可能會出現(xiàn)數(shù)據(jù)不一致的情況。RUm28資訊網(wǎng)——每日最新資訊28at.com

實時證明,大多數(shù)都是犧牲了一致性。像12306還有淘寶網(wǎng),就好比是你買火車票,本來你看到的是還有一張票,其實在這個時刻已經(jīng)被買走了,你填好了信息準備買的時候發(fā)現(xiàn)系統(tǒng)提示你沒票了。這就是犧牲了一致性。RUm28資訊網(wǎng)——每日最新資訊28at.com

但是不是說犧牲一致性一定是最好的。就好比mysql中的事務(wù)機制,張三給李四轉(zhuǎn)了100塊錢,這時候必須保證張三的賬戶上少了100,李四的賬戶多了100。因此需要數(shù)據(jù)的一致性,而且什么時候轉(zhuǎn)錢都可以,也需要可用性。但是可以轉(zhuǎn)錢失敗是可以允許的。RUm28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-93-0.html分布式系統(tǒng)中的CAP理論,面試必問,你理解了嘛?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 三言兩語說透設(shè)計模式的藝術(shù)-單例模式

下一篇: 不容錯過的MSBuild技巧,必備用法詳解和實踐指南

標簽:
  • 熱門焦點
  • Find N3入網(wǎng):最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經(jīng)正式入網(wǎng),型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協(xié)調(diào)和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現(xiàn)手段有以下幾種方式:Object 類下
  • 不容錯過的MSBuild技巧,必備用法詳解和實踐指南

    一、MSBuild簡介MSBuild是一種基于XML的構(gòu)建引擎,用于在.NET Framework和.NET Core應(yīng)用程序中自動化構(gòu)建過程。它是Visual Studio的構(gòu)建引擎,可在命令行或其他構(gòu)建工具中使用
  • 得物效率前端微應(yīng)用推進過程與思考

    一、背景效率工程隨著業(yè)務(wù)的發(fā)展,組織規(guī)模的擴大,越來越多的企業(yè)開始意識到協(xié)作效率對于企業(yè)團隊的重要性,甚至是決定其在某個行業(yè)競爭中突圍的關(guān)鍵,是企業(yè)長久生存的根本。得物
  • 之家push系統(tǒng)迭代之路

    前言在這個信息爆炸的互聯(lián)網(wǎng)時代,能夠及時準確獲取信息是當今社會要解決的關(guān)鍵問題之一。隨著之家用戶體量和內(nèi)容規(guī)模的不斷增大,傳統(tǒng)的靠"主動拉"獲取信息的方式已不能滿足用
  • 為什么你不應(yīng)該使用Div作為可點擊元素

    按鈕是為任何網(wǎng)絡(luò)應(yīng)用程序提供交互性的最常見方式。但我們經(jīng)常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯過了許多內(nèi)置瀏覽器的功能。
  • 引領(lǐng)旗艦級影像能力向中端機普及 OPPO K11 系列發(fā)布 1799 元起

    7月25日,OPPO正式發(fā)布K系列新品—— OPPO K11 。此次 K11 在中端手機市場長期被忽視的影像板塊發(fā)力,突破性地搭載索尼 IMX890 旗艦大底主攝,支持 OIS
  • 2022爆款:ROG魔霸6 冰川散熱系統(tǒng)持續(xù)護航

    喜逢開學(xué)季,各大商家開始推出自己的新產(chǎn)品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現(xiàn)在的
  • SN570 NVMe SSD固態(tài)硬盤 價格與性能兼具

    SN570 NVMe SSD固態(tài)硬盤是西部數(shù)據(jù)發(fā)布的最新一代WD Blue系列的固態(tài)硬盤,不僅閃存技術(shù)更為精進,性能也得到了進一步的躍升。WD Blue SN570 NVMe SSD的包裝外
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美国产欧美亚州国产日韩mv天天看完整| 欧美专区在线播放| 最新亚洲一区| 一本到高清视频免费精品| 亚洲一区二区影院| 久久久之久亚州精品露出| 欧美激情乱人伦| 国产精品国码视频| 狠狠色狠狠色综合日日小说| 亚洲三级影院| 亚洲一区二区在线免费观看视频| 久久精品男女| 欧美日韩日本国产亚洲在线| 国产私拍一区| 日韩小视频在线观看| 欧美一区二区视频观看视频| 欧美插天视频在线播放| 国产精品毛片va一区二区三区| 禁久久精品乱码| 亚洲一区二区在线免费观看视频| 久久一本综合频道| 国产精品毛片大码女人| 亚洲二区在线视频| 亚洲欧美日韩精品久久久| 欧美~级网站不卡| 国产精品自拍小视频| 亚洲精品欧美激情| 久久精品国产精品亚洲| 欧美日韩国产一区精品一区| 韩日欧美一区二区三区| 中文一区二区| 欧美成人首页| 国内精品久久久久久久影视麻豆 | 亚洲精品免费观看| 久久成人精品视频| 欧美性理论片在线观看片免费| 一区二区自拍| 欧美一区二区久久久| 亚洲人成在线播放网站岛国| 性欧美暴力猛交69hd| 欧美日韩亚洲免费| 亚洲国产成人av| 久久aⅴ国产欧美74aaa| 国产精品vip| 日韩视频一区二区三区| 久久不射中文字幕| 国产精品入口夜色视频大尺度| 亚洲美女毛片| 免费不卡在线视频| 国产真实久久| 欧美一区二区三区四区高清| 欧美亚州在线观看| 亚洲精品欧美精品| 蘑菇福利视频一区播放| 国内一区二区在线视频观看| 午夜精品福利一区二区三区av| 欧美日韩免费观看一区=区三区| 亚洲激情啪啪| 欧美不卡在线视频| 亚洲第一区色| 理论片一区二区在线| 国模精品娜娜一二三区| 欧美一区三区二区在线观看| 国产精品三级久久久久久电影| 亚洲一区二区精品在线| 国产精品福利久久久| 一区二区三区精品国产| 欧美日韩精品在线| 日韩亚洲国产精品| 欧美日韩国产页| 99热免费精品在线观看| 欧美日韩国产高清视频| 日韩亚洲视频在线| 欧美日韩网址| 亚洲私人黄色宅男| 国产精品精品视频| 亚洲欧美激情精品一区二区| 国产精品视频导航| 午夜久久资源| 国产一区二区三区久久悠悠色av| 久久高清福利视频| 国产在线日韩| 久久深夜福利| 亚洲高清视频的网址| 欧美成人性网| 日韩午夜中文字幕| 国产精品国产三级国产专区53| 亚洲桃色在线一区| 国产精品视频一| 欧美一激情一区二区三区| 国产亚洲一区二区精品| 久久深夜福利免费观看| 亚洲国内自拍| 欧美日韩国产丝袜另类| 亚洲午夜激情网站| 国产欧美一区二区色老头| 久久精品国产91精品亚洲| 伊人久久综合| 欧美精品1区| 亚洲视频精选在线| 国产欧美一区二区精品婷婷| 久久精品人人做人人爽| 亚洲国产裸拍裸体视频在线观看乱了| 欧美精品在线免费| 亚洲欧美激情视频在线观看一区二区三区| 国产女主播一区二区三区| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲区中文字幕| 欧美吻胸吃奶大尺度电影| 性色av一区二区三区| 影音先锋在线一区| 欧美日韩国产首页| 欧美亚洲日本国产| 亚洲国产精品第一区二区三区| 欧美日韩小视频| 欧美在线一级va免费观看| 亚洲国产精品热久久| 欧美色中文字幕| 久久精品视频在线看| 亚洲欧洲久久| 国产乱码精品一区二区三区不卡| 久久一区中文字幕| 在线亚洲精品| 狠狠网亚洲精品| 欧美三级小说| 久久日韩精品| 亚洲一级免费视频| ●精品国产综合乱码久久久久| 欧美天天视频| 久久久一本精品99久久精品66| 一本色道久久88亚洲综合88| 国产一区二区三区直播精品电影| 欧美精品福利| 久久精品视频在线免费观看| 一本久道久久综合中文字幕| 红桃视频成人| 国产精品夫妻自拍| 美国成人直播| 欧美一激情一区二区三区| 亚洲精品在线一区二区| 国产欧美日韩不卡| 欧美片在线观看| 久久久综合激的五月天| 亚洲一区在线观看视频| 亚洲国产老妈| 国产综合在线看| 国产精品99一区| 欧美顶级艳妇交换群宴| 欧美在线免费| 亚洲无吗在线| 亚洲精品乱码久久久久久| 国产主播在线一区| 国产精品国产精品| 欧美精品aa| 久久嫩草精品久久久精品| 亚洲欧美日本视频在线观看| 亚洲精品日韩激情在线电影| 国产一区二区三区免费观看| 欧美少妇一区| 欧美另类亚洲| 另类亚洲自拍| 久久高清国产| 亚洲欧美美女| 中日韩美女免费视频网址在线观看| 亚洲第一区在线观看| 国产区二精品视| 欧美性理论片在线观看片免费| 欧美承认网站| 麻豆免费精品视频| 久久精品亚洲国产奇米99| 午夜精品一区二区三区在线播放 | 91久久精品美女| 黄色成人av在线| 国产欧亚日韩视频| 国产精品都在这里| 欧美日韩精品在线视频| 欧美电影免费观看| 蜜乳av另类精品一区二区| 久久久国产精品一区| 欧美一区二区三区四区夜夜大片| 亚洲一品av免费观看| 一区二区激情视频| 亚洲精选在线| 亚洲精品一区二区三区婷婷月 | 久久aⅴ国产欧美74aaa| 午夜欧美不卡精品aaaaa| 亚洲专区一区| 亚洲免费在线观看| 亚洲一区二区三区免费视频| 一区二区欧美在线| 夜久久久久久| 一本色道久久综合亚洲精品按摩| 亚洲精品一区二区在线| 亚洲日本激情| 日韩亚洲欧美精品| 99国产精品99久久久久久粉嫩 | 久久精品成人欧美大片古装| 性做久久久久久免费观看欧美| 午夜国产不卡在线观看视频| 亚洲综合国产激情另类一区| 亚洲欧美日韩国产一区二区三区 | 欧美精选午夜久久久乱码6080| 欧美韩日一区二区| 欧美精品亚洲二区|