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

在分布式系統里看CAP定理

開發 開發工具 分布式
計算機界有很多高大上又難于理解的術語,CAP就是其中之一, 什么一致性(Consistency), 可用性(Availability), 分區容錯性(Partition tolerance) 就很難理解了, 再加上CAP定理更是讓人云里霧里, 今天咱們試圖通俗的演繹一下。

計算機界有很多高大上又難于理解的術語,CAP就是其中之一, 什么一致性(Consistency), 可用性(Availability), 分區容錯性(Partition tolerance) 就很難理解了, 再加上CAP定理更是讓人云里霧里, 今天咱們試圖通俗的演繹一下。

張大胖在公司奮發圖強,經過多年的努力,終于做到了架構師的位置。

架構師的椅子還沒坐熱,很快就來了一個項目要做架構設計。

老板把大胖叫來,諄諄教導說: 大胖啊, 數據是我們的寶貴資產,你設計的系統可千萬要保證數據不能丟失啊!

大胖說老板放心, 這方面我有經驗, 一般來講我們要做數據的冗余處理, 簡單的來講就是給數據做多個副本來保存。 我會設計一個分布式系統, 把數據備份到多個機器節點去。

幾天后, 大胖給發了一張圖, 展示了這個分布式系統是怎么工作的:

數據副本在不同的機器上做冗余, 中間有數據的復制, 保證數據的同步。

雖然只是兩臺機器, 但是也構成了一個簡單的分布式環境。

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

經過幾個月的開發和測試,系統順利上線, 但是大家很快就發現: 分布式系統不像單機系統那么簡單, 由于網絡的原因, 或者某個機器的原因很容易導致通訊失敗,或者節點不可用。

有一天, 用戶先訪問了左邊的機器A , 寫入了一條數據, 然后機器A很不幸, 網線被悲催的網管給踢掉了, 這直接導致了兩個嚴重的后果:

1. 負載均衡找不著機器A,認為它死翹翹了, 就要把用戶的下一次訪問轉到機器B去。

2. 數據復制也找不著機器A , 只好罷工。 用戶剛寫入的數據沒法復制到機器B,機器B上還是老數據

怎么辦? 雖然這是一次偶然, 把網管臭罵一頓, 插上網線就可以了, 但是誰能保證以后兩個機器的通信是一致暢通的呢?

組里的小王說: 我們的機器B 還活著呢, 還能提供服務, 數據復制不到機器B, 不就是少看幾條數據嘛, 無傷大雅,不影響大局, 勉強可用, 插上網線后數據復制就會工作, 一切就會恢復正常。

小王無意中選擇了系統的可用性(Availability,簡稱A), 系統能提供服務就好, 數據不一致可以忍受。

張大胖說: 不行, 老板說了,我們系統的數據極為重要, 數據如果不一致會帶來嚴重后果,所以機器B上的和這些關鍵數據相關的功能也必須停掉, 必須等到機器A插上網線,數據同步以后才能開工

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

所以問題就很明顯了, 在網絡節點之間無法通信的情況下, 和數據復制相關的功能, 要么選擇可用性(A) , 要么選擇一致性(C), 不能同時選擇兩者。

大胖仔細思考了一下, 其實這兩種選擇的背后其實隱藏著另外一個事實, 那就是網絡節點之間無法通信的情況下, 節點被隔離,產生了網絡分區, 整個系統仍然是可以工作的, 大胖給它起了個名: 分區容錯性(Partition tolerance, 簡稱P)。

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

如果選在一致性(C) + 分區容錯性(P) , 就得放棄可用性(A) , 對了, 這種情況下,雖然系統的有些功能是不能使用的, 因為需要等待數據的同步, 但是那些和數據同步無關的功能還是可以訪問的 , 相當于系統做了功能的降級。

既然有AP和CP, 會不會出現僅僅是CA(一致性+可用性)這種組合呢? 就是沒有分區容錯性, 只保留可用性和一致性? 仔細想想, 這種情況其實就退化成了單機應用, 沒有意義了。

大胖覺得自己似乎發現了一個規律: 在一個分布式計算機系統中,一致性(C),可用性(A)和分區容錯性(P) 這三種保證無法同時得到滿足,最多滿足兩個。

他決定把找個規律叫做CAP定理, 聽起來比較高大上, 顯得自己高深莫測。

如果你實在是搞不懂這CAP, 張大胖會告訴你一個更容易理解的版本: 在一個分布式系統中, 在出現節點之間無法通信(網絡分區產生), 你只能選擇 可用性 或者 一致性, 沒法同時選擇他們。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2021-03-11 07:27:15

CAPBASE分布式

2018-06-20 10:42:47

分布式系統CAP

2020-10-16 06:36:57

CapBase定理

2024-07-11 16:38:54

2021-06-02 22:16:56

框架CAPBASE

2023-05-29 14:07:00

Zuul網關系統

2024-11-18 17:09:19

2021-01-05 08:05:51

Zookeeper

2023-05-12 08:23:03

分布式系統網絡

2021-04-16 15:02:11

CAP理論分布式

2014-03-12 17:40:07

GlusterFS分布式文件系統

2017-12-19 10:37:16

Ceph系統故障

2017-10-27 08:40:44

分布式存儲剪枝系統

2023-10-26 18:10:43

分布式并行技術系統

2023-02-11 00:04:17

分布式系統安全

2024-03-25 14:31:45

2020-12-14 14:24:07

CAP分布式數據一致性

2023-09-21 10:47:29

分布式CAPBASE

2022-11-30 08:53:51

CAP定理計算機

2017-10-17 08:33:31

存儲系統分布式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 玖玖操| 99精品网站 | 国产视频一区二区三区四区五区 | 国产激情视频在线观看 | 国产成人亚洲精品 | 国产精品国产精品国产专区不卡 | 国产免费人成xvideos视频 | 97精品久久 | 成人精品一区二区三区中文字幕 | 国产一区二区三区高清 | 欧美激情国产精品 | 在线国产视频 | 免费在线观看毛片 | 伦理午夜电影免费观看 | 国产精品久久久久久中文字 | 激情91 | 青春草国产 | 福利一区二区 | 丁香久久| 国产欧美精品一区二区色综合朱莉 | 中文字幕第一页在线 | 精品日韩在线 | 国产一区久久 | 国产三级 | 久久久久久久久一区 | 99久久精品国产一区二区三区 | 久久9999久久 | 亚洲色欧美另类 | 国产成人精品免费视频大全最热 | 亚洲欧美一区二区三区国产精品 | 亚洲视频一区在线 | 精品视频一区二区三区在线观看 | 亚洲免费人成在线视频观看 | 尤物视频在线免费观看 | 久久久久国产一区二区三区四区 | 羞羞羞视频| 国产成人在线视频 | 日韩久久综合 | 久久久蜜桃 | 国产精品一区在线观看 | 天天澡天天操 |