av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

在分布式系統(tǒng)里看CAP定理

計(jì)算機(jī)界有很多高大上又難于理解的術(shù)語(yǔ),CAP就是其中之一, 什么一致性(Consistency), 可用性(Availability), 分區(qū)容錯(cuò)性(Partition tolerance) 就很難理解了, 再加上CAP定理更是讓人云里霧里, 今天咱們?cè)噲D通俗的演繹一下。

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供清水企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為清水眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

張大胖在公司奮發(fā)圖強(qiáng),經(jīng)過(guò)多年的努力,終于做到了架構(gòu)師的位置。

架構(gòu)師的椅子還沒(méi)坐熱,很快就來(lái)了一個(gè)項(xiàng)目要做架構(gòu)設(shè)計(jì)。

老板把大胖叫來(lái),諄諄教導(dǎo)說(shuō): 大胖啊, 數(shù)據(jù)是我們的寶貴資產(chǎn),你設(shè)計(jì)的系統(tǒng)可千萬(wàn)要保證數(shù)據(jù)不能丟失啊!

大胖說(shuō)老板放心, 這方面我有經(jīng)驗(yàn), 一般來(lái)講我們要做數(shù)據(jù)的冗余處理, 簡(jiǎn)單的來(lái)講就是給數(shù)據(jù)做多個(gè)副本來(lái)保存。 我會(huì)設(shè)計(jì)一個(gè)分布式系統(tǒng), 把數(shù)據(jù)備份到多個(gè)機(jī)器節(jié)點(diǎn)去。

幾天后, 大胖給發(fā)了一張圖, 展示了這個(gè)分布式系統(tǒng)是怎么工作的:

數(shù)據(jù)副本在不同的機(jī)器上做冗余, 中間有數(shù)據(jù)的復(fù)制, 保證數(shù)據(jù)的同步。

雖然只是兩臺(tái)機(jī)器, 但是也構(gòu)成了一個(gè)簡(jiǎn)單的分布式環(huán)境。

老板雖然不懂技術(shù), 但是看到數(shù)據(jù)在不同的機(jī)器之間有備份,也就放心了。

經(jīng)過(guò)幾個(gè)月的開(kāi)發(fā)和測(cè)試,系統(tǒng)順利上線, 但是大家很快就發(fā)現(xiàn): 分布式系統(tǒng)不像單機(jī)系統(tǒng)那么簡(jiǎn)單, 由于網(wǎng)絡(luò)的原因, 或者某個(gè)機(jī)器的原因很容易導(dǎo)致通訊失敗,或者節(jié)點(diǎn)不可用。

有一天, 用戶(hù)先訪問(wèn)了左邊的機(jī)器A , 寫(xiě)入了一條數(shù)據(jù), 然后機(jī)器A很不幸, 網(wǎng)線被悲催的網(wǎng)管給踢掉了, 這直接導(dǎo)致了兩個(gè)嚴(yán)重的后果:

1. 負(fù)載均衡找不著機(jī)器A,認(rèn)為它死翹翹了, 就要把用戶(hù)的下一次訪問(wèn)轉(zhuǎn)到機(jī)器B去。

2. 數(shù)據(jù)復(fù)制也找不著機(jī)器A , 只好罷工。 用戶(hù)剛寫(xiě)入的數(shù)據(jù)沒(méi)法復(fù)制到機(jī)器B,機(jī)器B上還是老數(shù)據(jù)

怎么辦? 雖然這是一次偶然, 把網(wǎng)管臭罵一頓, 插上網(wǎng)線就可以了, 但是誰(shuí)能保證以后兩個(gè)機(jī)器的通信是一致暢通的呢?

組里的小王說(shuō): 我們的機(jī)器B 還活著呢, 還能提供服務(wù), 數(shù)據(jù)復(fù)制不到機(jī)器B, 不就是少看幾條數(shù)據(jù)嘛, 無(wú)傷大雅,不影響大局, 勉強(qiáng)可用, 插上網(wǎng)線后數(shù)據(jù)復(fù)制就會(huì)工作, 一切就會(huì)恢復(fù)正常。

小王無(wú)意中選擇了系統(tǒng)的可用性(Availability,簡(jiǎn)稱(chēng)A), 系統(tǒng)能提供服務(wù)就好, 數(shù)據(jù)不一致可以忍受。

張大胖說(shuō): 不行, 老板說(shuō)了,我們系統(tǒng)的數(shù)據(jù)極為重要, 數(shù)據(jù)如果不一致會(huì)帶來(lái)嚴(yán)重后果,所以機(jī)器B上的和這些關(guān)鍵數(shù)據(jù)相關(guān)的功能也必須停掉, 必須等到機(jī)器A插上網(wǎng)線,數(shù)據(jù)同步以后才能開(kāi)工

很明顯, 張大胖遵循老板指示, 把一致性(Consistency, 簡(jiǎn)稱(chēng)C )放到了首位。

所以問(wèn)題就很明顯了, 在網(wǎng)絡(luò)節(jié)點(diǎn)之間無(wú)法通信的情況下, 和數(shù)據(jù)復(fù)制相關(guān)的功能, 要么選擇可用性(A) , 要么選擇一致性(C), 不能同時(shí)選擇兩者。

大胖仔細(xì)思考了一下, 其實(shí)這兩種選擇的背后其實(shí)隱藏著另外一個(gè)事實(shí), 那就是網(wǎng)絡(luò)節(jié)點(diǎn)之間無(wú)法通信的情況下, 節(jié)點(diǎn)被隔離,產(chǎn)生了網(wǎng)絡(luò)分區(qū), 整個(gè)系統(tǒng)仍然是可以工作的, 大胖給它起了個(gè)名: 分區(qū)容錯(cuò)性(Partition tolerance, 簡(jiǎn)稱(chēng)P)。

如果選擇了可用性(A) + 分區(qū)容錯(cuò)性(P) , 就要放棄一致性(C)。

如果選在一致性(C) + 分區(qū)容錯(cuò)性(P) , 就得放棄可用性(A) , 對(duì)了, 這種情況下,雖然系統(tǒng)的有些功能是不能使用的, 因?yàn)樾枰却龜?shù)據(jù)的同步, 但是那些和數(shù)據(jù)同步無(wú)關(guān)的功能還是可以訪問(wèn)的 , 相當(dāng)于系統(tǒng)做了功能的降級(jí)。

既然有AP和CP, 會(huì)不會(huì)出現(xiàn)僅僅是CA(一致性+可用性)這種組合呢? 就是沒(méi)有分區(qū)容錯(cuò)性, 只保留可用性和一致性? 仔細(xì)想想, 這種情況其實(shí)就退化成了單機(jī)應(yīng)用, 沒(méi)有意義了。

大胖覺(jué)得自己似乎發(fā)現(xiàn)了一個(gè)規(guī)律: 在一個(gè)分布式計(jì)算機(jī)系統(tǒng)中,一致性(C),可用性(A)和分區(qū)容錯(cuò)性(P) 這三種保證無(wú)法同時(shí)得到滿(mǎn)足,最多滿(mǎn)足兩個(gè)。

他決定把找個(gè)規(guī)律叫做CAP定理, 聽(tīng)起來(lái)比較高大上, 顯得自己高深莫測(cè)。

如果你實(shí)在是搞不懂這CAP, 張大胖會(huì)告訴你一個(gè)更容易理解的版本: 在一個(gè)分布式系統(tǒng)中, 在出現(xiàn)節(jié)點(diǎn)之間無(wú)法通信(網(wǎng)絡(luò)分區(qū)產(chǎn)生), 你只能選擇 可用性 或者 一致性, 沒(méi)法同時(shí)選擇他們。

【本文為專(zhuān)欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】


當(dāng)前文章:在分布式系統(tǒng)里看CAP定理
鏈接地址:http://uogjgqi.cn/article/ccogsjs.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流