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

淺析分布式Cap定理和Base理論!

系統 分布式
根據定理,分布式系統只能滿足三項中的兩項而不可能滿足全部三項。理解CAP理論的最簡單方式是想象兩個節點分處分區兩側。允許至少一個節點更新狀態會導致數據不一致,即喪失了C性質。

 [[346602]]

引言

在理論計算機科學中,CAP定理(CAP theorem),又被稱作布魯爾定理(Brewer's theorem),它指出對于一個分布式計算系統來說,不可能同時滿足以下三點:

  • 一致性(Consistency) (等同于所有節點訪問同一份最新的數據副本)
  • 可用性(Availability)(每次請求都能獲取到非錯的響應——但是不保證獲取的數據為最新數據)
  • 分區容錯性(Partition tolerance)(以實際效果而言,分區相當于對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味著發生了分區的情況,必須就當前操作在C和A之間做出選擇)

根據定理,分布式系統只能滿足三項中的兩項而不可能滿足全部三項。理解CAP理論的最簡單方式是想象兩個節點分處分區兩側。允許至少一個節點更新狀態會導致數據不一致,即喪失了C性質。如果為了保證數據一致性,將分區一側的節點設置為不可用,那么又喪失了A性質。除非兩個節點可以互相通信,才能既保證C又保證A,這又會導致喪失P性質。

這個定義讀下來是不是讓人看的一臉懵逼,多讀幾遍是不是又會覺得有那么點明白了。CAP 理論聽起來十分抽象,本文嘗試以生活中的例子并用通俗易懂的語言來解釋 CAP 理論的含義。

CAP小故事

這個故事感覺講的還是挺有意思的,大家點擊鏈接https://zhuanlan.zhihu.com/p/265670196進去看看或者點擊閱讀原文進行閱讀。相信看了這個小故事之后,再來看看前面的定義可能會覺得 更好理解了。

Cap的權衡

通過CAP理論我們可以無法同時滿足一致性、可用性和分區容錯性這三個特性,那么我們需要怎么權衡呢?

選擇CA放棄 P

這種情況的話在分布式系統中基本是不可能存在的。因為在分布式環境下分區是必然的,如果我們要舍棄P就意味著我們要舍棄分布式系統,所以也就沒必要再來討論CAP理論了,

選擇CP放棄A

一個分布式系統如果不能做到可用性,經常宕機或者停止提供服務的話,這樣的話用戶體驗是非常差的,就像曾經的“微盟刪庫事件”,只有等到所有的數據都被找回來才會繼續對外提供服務,這期間停機多久,給商家造成了的多大的損失。我們常見的CP分布式系統有分布式數據庫(redis)等,以及Zookeeper等都是優先保證數據的強一致性,來舍棄系統的可用性。

放棄AP放棄C

如果要保證高可用并允許分區,則需要放棄一致性。一旦網絡問題發生,節點之間可能會失去聯系。為了保證高可用,需要在用戶訪問時可以馬上得到返回,則每個節點只能用本地數據提供服務,而這樣會導致全局數據的不一致性。現如今應該大多數場景都是會選擇可用性,而去犧牲一致性(保持最終一致性),就像我們春節搶紅包的時候,它不會立馬告訴你搶了多少金額,只是提示你過多久再去查看。以及我們春節搶票的時候,明明看到這輛高鐵還是郵票的但是等你填完驗證碼,以及乘客信息真正提交訂單的時候就告訴你沒票了,你再返回列表頁查看該車次的時候,也還繼續顯示著有票 。這些雖然用戶體驗有那么一丟丟的不友好,但是也能接受。

小結

CAP的選擇的話沒有哪種更好,只有根據自己的業務場景來選擇,選擇適合自己的才是最好的。

Base理論

BASE:全稱:Basically Available(基本可用),Soft state(軟狀態),和 Eventually consistent(最終一致性)三個短語的縮寫,來自 ebay 的架構師提出。Base 理論是對 CAP 中一致性和可用性權衡的結果,其來源于對大型互聯網分布式實踐的總結,是基于 CAP 定理逐步演化而來的。其核心思想是:

既是無法做到強一致性(Strong consistency),但每個應用都可以根據自身的業務特點,采用適當的方式來使系統達到最終一致性(Eventual consistency)。

Basically Available(基本可用)

什么是基本可用?犧牲性能(服務響應時間)、體驗(部分功能體驗)以保證基本可用。犧牲性能:比如我們查詢商品正常情況響應時間都是1s左右返回結果,但是基本可用的話返回結果都是10s返回結果。犧牲體驗:比如雙十一的時候,淘寶只會保證核心功能可用(下單、支付等),其他非核心(退貨、修改地址等)的功能都會進行降級,關于降級可以看下以前這個文章《高并發系統三大利器之降級》

Soft State(軟狀態)

允許不影響整體可用性的中間狀態 即允許系統在多個不同節點的數據副本存在數據延時。

Eventual Consistency(最終一致性)

上面說軟狀態,然后不可能一直是軟狀態,必須有個時間期限。在期限過后,應當保證所有副本保持數據一致性。從而達到數據的最終一致性。這個時間期限取決于網絡延時,系統負載,數據復制方案設計等等因素。

系統能夠保證在沒有其他新的更新操作的情況下,數據最終一定能夠達到一致的狀態,因此所有客戶端對系統的數據訪問最終都能夠獲取到最新的值。

結束

由于自己才疏學淺,難免會有紕漏,假如你發現了錯誤的地方,還望留言給我指出來,我會對其加以修正。

本文轉載自微信公眾號「 java金融」,可以通過以下二維碼關注。轉載本文請聯系java金融公眾號。

 

責任編輯:武曉燕 來源: java金融
相關推薦

2021-03-11 07:27:15

CAPBASE分布式

2021-06-02 22:16:56

框架CAPBASE

2024-11-18 17:09:19

2024-03-25 14:31:45

2023-09-21 10:47:29

分布式CAPBASE

2017-03-14 08:57:10

CAP定理可用性

2022-11-30 08:53:51

CAP定理計算機

2024-07-11 16:38:54

2018-06-20 10:42:47

分布式系統CAP

2020-12-14 14:24:07

CAP分布式數據一致性

2009-06-19 15:28:31

JDBC分布式事務

2023-08-03 07:49:39

N1節點網絡

2021-01-05 08:05:51

Zookeeper

2013-12-06 09:37:49

分布式系統Travis CI

2020-03-31 08:05:23

分布式開發技術

2018-06-08 09:10:49

CAPACELC存儲系統

2024-11-19 15:55:49

2021-08-16 15:40:04

分布式架構系統

2017-02-17 14:09:14

CAPSpannerCA

2021-04-16 15:02:11

CAP理論分布式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美videosex性极品hd | 一区二区在线免费观看视频 | 精品视频免费在线 | 国产精品视频久久久 | 亚洲欧美综合精品另类天天更新 | 精品一区二区久久久久久久网站 | www.日日夜夜 | 亚洲精品电影在线观看 | 91av视频在线 | 天天爱爱网 | 精品久久久久久久久久久久 | 本道综合精品 | 亚洲五码在线 | 91精品国产91久久久久久最新 | 中文字幕视频一区 | 久久久久九九九女人毛片 | hdfreexxxx中国妞 | 综合第一页 | 国产免费又色又爽又黄在线观看 | 国产精品99视频 | 玖玖国产| 国产免费一区二区三区最新6 | 精产国产伦理一二三区 | av在线播放网站 | 成人h免费观看视频 | 亚洲福利一区 | 北条麻妃99精品青青久久主播 | 日韩一二区 | 狠狠的干 | 一区二区三区小视频 | 国产成人免费在线观看 | 免费一级淫片aaa片毛片a级 | 91在线资源 | 国产日韩欧美精品 | 天天草视频| 亚洲视频在线一区 | 毛片99 | 日韩视频免费在线 | 九九热在线视频免费观看 | 欧美一级在线免费 | 国产欧美日韩综合精品一区二区 |