成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CAP理論解釋,你會(huì)嗎?

開發(fā) 前端
你可能經(jīng)常聽到CAP定理, 這個(gè)定理描述了在設(shè)計(jì)分布式系統(tǒng)時(shí)的天然約束。就像其他文章一樣, 本文以現(xiàn)實(shí)場景對比理解CAP定理。

[[393635]]

本文轉(zhuǎn)載自微信公眾號「全棧碼農(nóng)畫像」,作者小碼甲 。轉(zhuǎn)載本文請聯(lián)系全棧碼農(nóng)畫像公眾號。   

你可能經(jīng)常聽到CAP定理, 這個(gè)定理描述了在設(shè)計(jì)分布式系統(tǒng)時(shí)的天然約束。就像其他文章一樣, 本文以現(xiàn)實(shí)場景對比理解CAP定理。

1.記憶公司

昨晚你的老婆過生日,你這個(gè)渣男記得并精心準(zhǔn)備了生日禮物,夫婦相視一笑。

一個(gè)天才創(chuàng)意在你頭腦中產(chǎn)生:既然人們的記憶通常不好,而我偏偏擅長記憶,那我為什么不利用記憶天賦開創(chuàng)一番事業(yè)。

立馬行動(dòng), 你制作了【記憶公司】的開業(yè)廣告:

Remembrance Inc! - Never forget, even without remembering!

Ever felt bad that you forget so much? Don’t worry. Help is just a phone away!

When you need to remember something, just call 555—55-REMEM and tell us what you need to remember. For eg., call us and let us know of your boss’s phone number, and forget to remember it. when you need to know it back.. call back the same number[(555)—55-REMEM ] and we’ll tell you what’s your boss’s phone number.

Charges : only $0.1 per request

記憶公司的日常業(yè)務(wù)通話記錄:

  • 客戶:喂,你好,你可以存儲(chǔ)我鄰居的生日嗎?
  • 你:可以,您說。
  • 客戶:1月2號
  • 你:記錄(在筆記本這個(gè)客戶頁上記下信息), 好的,歡迎下次垂詢。
  • 客戶:謝謝
  • 你:請支付1元

2.業(yè)務(wù)擴(kuò)張

憑借創(chuàng)意和人品,【記憶公司】的規(guī)模越做越大,而成本只需要筆記本和電話。

當(dāng)你某天生病不能工作時(shí),你會(huì)損失一天的收入;更不用說當(dāng)天想要信息的客戶會(huì)因此發(fā)狂。

你有了新計(jì)劃:

1. 你和你老婆分別使用分機(jī)

2. (555)—55-REMEM 客服電話不變

3. 客服電話會(huì)轉(zhuǎn)到空閑的分機(jī)號

3.第一次業(yè)務(wù)宕機(jī)

有一天你收到老客戶羅志祥的電話,要求查詢"明天的約會(huì)安排";

你一臉蒙蔽,我不知道啊,你的記憶頁上沒這個(gè)信息啊; 客戶咣當(dāng)掛斷了電話。

當(dāng)天復(fù)盤, 猜想是昨天羅志祥把業(yè)務(wù)電話打到我老婆那里了,事實(shí)確實(shí)如此。

你們都意識到分機(jī)號帶來的新問題。

多么可怕的分布式設(shè)計(jì)中的缺陷!你的分布式系統(tǒng)是不一致的!總會(huì)有一個(gè)時(shí)機(jī),客戶會(huì)將業(yè)務(wù)電話打到你們其中一個(gè);在下一次撥號時(shí),客戶就可能收到不一致的信息。

4.修復(fù)一致性問題

睡前吹風(fēng)時(shí)間, 你想到一個(gè)主意:

  •  當(dāng)我們其中一個(gè)人接到客戶新的記憶業(yè)務(wù),我們會(huì)在掛電話之前告訴另一個(gè)人
  • 這樣我們都能在筆記本上記下新業(yè)務(wù)
  • 當(dāng)客戶查詢時(shí),我們兩個(gè)都可以輕松應(yīng)對

這里有一個(gè)問題:當(dāng)其中一人收到新業(yè)務(wù)電話,兩人就不能并行工作了。

例如:當(dāng)你收到新業(yè)務(wù)并告訴我記錄信息時(shí), 我不能接其他電話。

但是這個(gè)問題也不大,因?yàn)榇蟛糠侄际遣樵儤I(yè)務(wù)(可以再撥電話重試),我們首要的是確保信息正確。

你老婆進(jìn)一步提出:如果某天你不在崗,我收到新業(yè)務(wù),你的筆記本不能得到最新信息,這就會(huì)有可用性問題, 因?yàn)槲覜]能通知你,我就不能掛斷電話完成這單業(yè)務(wù)。

5. 更優(yōu)方案

你慢慢理解了分布式系統(tǒng)中的“一致性”和“可用性”。你提出了更優(yōu)方案:

1. 收到新業(yè)務(wù)電話, 掛電話前通知對方,這樣兩個(gè)人都能記下信息

2. 某天其中一人不在崗,另外一人收到新業(yè)務(wù)電話 ,給缺崗者發(fā)一封郵件

3. 第二天缺崗者上崗查收郵件,更新自己的筆記本。

Nice, 現(xiàn)在一致性和可用性都滿足了。

6. 老婆難養(yǎng)

使用優(yōu)化方案,一切都很順利,你們的筆記本是一致的,當(dāng)你們其中一人不在崗系統(tǒng)也能很好的運(yùn)作。

但是, 凡事都有但是, 某天你們都在崗,但是你老婆嫌你碗沒洗干凈,今兒不想理你,收到新業(yè)務(wù)不通知你了,你的查詢業(yè)務(wù)就有問題了。

你的方案包含了“一致性”,“可用性”, 但是不滿足“分區(qū)容錯(cuò)”。

為了滿足“分區(qū)容錯(cuò)”, 你可以自我下線(直到你們修復(fù)關(guān)系),讓你老婆一人接手業(yè)務(wù),但是你的系統(tǒng)就不可用了。

7.結(jié)論

我們回過頭看CAP定理:在設(shè)計(jì)分布式系統(tǒng)時(shí),“一致性Consistency ”“可用性Availability”“分區(qū)容錯(cuò)Partition Tolerance” 你只能滿足兩個(gè)。

?Consistency:一旦接受了客戶的新業(yè)務(wù),在客戶后續(xù)查詢時(shí)必須得到最新的信息

?Availability:只要你們一人在崗,記憶公司就一直提供服務(wù)

?Partition Tolerance:你們夫妻二人鬧矛盾了,記憶公司依舊運(yùn)作

有了這樣的場景,理解CP、AP、CA就不難了

雇傭工具人-->最終一致性

雇傭工具人,更新[未更新的人]的筆記本,相比你老婆實(shí)時(shí)通知你更新, 這個(gè)工具人有個(gè)好處是在后臺跑腿,你們兩個(gè)業(yè)務(wù)都不會(huì)阻塞。

這也是很多NoSql的工作方式:一個(gè)節(jié)點(diǎn)在本地更新,后臺進(jìn)程同步到其他節(jié)點(diǎn), 唯一存在的問題是少數(shù)時(shí)候丟失一致性。

你老婆收到新業(yè)務(wù),工具人還沒來得及跑腿,客戶就立即回?fù)懿⑥D(zhuǎn)到你的分機(jī),你給出不一致的答復(fù)。這種情況有限,因?yàn)榭蛻舨粫?huì)如此迅速忘記事情。

這就是CAP定理和最終一致性的現(xiàn)實(shí)解釋。

 

責(zé)任編輯:武曉燕 來源: 全棧碼農(nóng)畫像
相關(guān)推薦

2022-11-30 08:53:51

CAP定理計(jì)算機(jī)

2024-11-18 17:09:19

2017-02-17 14:09:14

CAPSpannerCA

2022-06-24 08:20:04

CAP網(wǎng)絡(luò)通信

2021-08-19 15:36:09

數(shù)據(jù)備份存儲(chǔ)備份策略

2021-06-02 22:16:56

框架CAPBASE

2023-08-03 07:49:39

N1節(jié)點(diǎn)網(wǎng)絡(luò)

2021-04-14 06:53:52

C# 修飾符 Public

2020-10-16 06:36:57

CapBase定理

2024-02-22 08:31:26

數(shù)據(jù)恢復(fù)工具MySQL回滾SQL

2012-06-20 10:47:25

Team Leader

2019-05-07 15:49:27

AI人工智能藝術(shù)

2010-07-13 10:40:30

唐駿

2024-05-14 08:19:54

2021-03-10 18:07:58

協(xié)議調(diào)試 Modbus

2021-03-11 07:27:15

CAPBASE分布式

2019-07-17 15:45:24

Spark內(nèi)存Java

2011-09-30 13:37:35

51CTO博客一周熱門薪酬

2022-03-25 09:39:50

LinuxLinux top

2021-11-05 10:59:06

元編程語言工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美在线一区二区三区 | 国产欧美在线视频 | 91av在线免费 | 99精品久久99久久久久 | 网站黄色在线免费观看 | 五月综合久久 | 国产ts人妖系列高潮 | 黄网免费看 | 免费精品久久久久久中文字幕 | 亚洲欧美中文字幕在线观看 | www.欧美.com| 日韩精品一区二区久久 | 欧美一级毛片免费观看 | 91电影| 精品久久久久久亚洲精品 | 无码一区二区三区视频 | 爱爱爱av| 人人叉 | 免费国产网站 | 国产欧美精品区一区二区三区 | 国产精品资源在线 | 亚洲a视频| 久久激情五月丁香伊人 | 99视频在线播放 | 亚洲成人精选 | 日韩网站在线 | 伊人二区 | 一区二区不卡 | 精品久久久久久久久久久院品网 | 久久久久久国产 | 亚洲精品欧美一区二区三区 | 欧美国产视频 | 在线一区 | 一级黄色毛片免费 | 国产www.| 成人久久久 | 久久精品com| 在线国产视频观看 | 日韩视频在线观看一区二区 | 成人久久18免费网站麻豆 | 91精品国产91久久久久游泳池 |