偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

系統(tǒng) 分布式
根據(jù)定理,分布式系統(tǒng)只能滿足三項(xiàng)中的兩項(xiàng)而不可能滿足全部三項(xiàng)。理解CAP理論的最簡(jiǎn)單方式是想象兩個(gè)節(jié)點(diǎn)分處分區(qū)兩側(cè)。允許至少一個(gè)節(jié)點(diǎn)更新?tīng)顟B(tài)會(huì)導(dǎo)致數(shù)據(jù)不一致,即喪失了C性質(zhì)。

 [[346602]]

引言

在理論計(jì)算機(jī)科學(xué)中,CAP定理(CAP theorem),又被稱(chēng)作布魯爾定理(Brewer's theorem),它指出對(duì)于一個(gè)分布式計(jì)算系統(tǒng)來(lái)說(shuō),不可能同時(shí)滿足以下三點(diǎn):

  • 一致性(Consistency) (等同于所有節(jié)點(diǎn)訪問(wèn)同一份最新的數(shù)據(jù)副本)
  • 可用性(Availability)(每次請(qǐng)求都能獲取到非錯(cuò)的響應(yīng)——但是不保證獲取的數(shù)據(jù)為最新數(shù)據(jù))
  • 分區(qū)容錯(cuò)性(Partition tolerance)(以實(shí)際效果而言,分區(qū)相當(dāng)于對(duì)通信的時(shí)限要求。系統(tǒng)如果不能在時(shí)限內(nèi)達(dá)成數(shù)據(jù)一致性,就意味著發(fā)生了分區(qū)的情況,必須就當(dāng)前操作在C和A之間做出選擇)

根據(jù)定理,分布式系統(tǒng)只能滿足三項(xiàng)中的兩項(xiàng)而不可能滿足全部三項(xiàng)。理解CAP理論的最簡(jiǎn)單方式是想象兩個(gè)節(jié)點(diǎn)分處分區(qū)兩側(cè)。允許至少一個(gè)節(jié)點(diǎn)更新?tīng)顟B(tài)會(huì)導(dǎo)致數(shù)據(jù)不一致,即喪失了C性質(zhì)。如果為了保證數(shù)據(jù)一致性,將分區(qū)一側(cè)的節(jié)點(diǎn)設(shè)置為不可用,那么又喪失了A性質(zhì)。除非兩個(gè)節(jié)點(diǎn)可以互相通信,才能既保證C又保證A,這又會(huì)導(dǎo)致喪失P性質(zhì)。

這個(gè)定義讀下來(lái)是不是讓人看的一臉懵逼,多讀幾遍是不是又會(huì)覺(jué)得有那么點(diǎn)明白了。CAP 理論聽(tīng)起來(lái)十分抽象,本文嘗試以生活中的例子并用通俗易懂的語(yǔ)言來(lái)解釋 CAP 理論的含義。

CAP小故事

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

Cap的權(quán)衡

通過(guò)CAP理論我們可以無(wú)法同時(shí)滿足一致性、可用性和分區(qū)容錯(cuò)性這三個(gè)特性,那么我們需要怎么權(quán)衡呢?

選擇CA放棄 P

這種情況的話在分布式系統(tǒng)中基本是不可能存在的。因?yàn)樵诜植际江h(huán)境下分區(qū)是必然的,如果我們要舍棄P就意味著我們要舍棄分布式系統(tǒng),所以也就沒(méi)必要再來(lái)討論CAP理論了,

選擇CP放棄A

一個(gè)分布式系統(tǒng)如果不能做到可用性,經(jīng)常宕機(jī)或者停止提供服務(wù)的話,這樣的話用戶體驗(yàn)是非常差的,就像曾經(jīng)的“微盟刪庫(kù)事件”,只有等到所有的數(shù)據(jù)都被找回來(lái)才會(huì)繼續(xù)對(duì)外提供服務(wù),這期間停機(jī)多久,給商家造成了的多大的損失。我們常見(jiàn)的CP分布式系統(tǒng)有分布式數(shù)據(jù)庫(kù)(redis)等,以及Zookeeper等都是優(yōu)先保證數(shù)據(jù)的強(qiáng)一致性,來(lái)舍棄系統(tǒng)的可用性。

放棄AP放棄C

如果要保證高可用并允許分區(qū),則需要放棄一致性。一旦網(wǎng)絡(luò)問(wèn)題發(fā)生,節(jié)點(diǎn)之間可能會(huì)失去聯(lián)系。為了保證高可用,需要在用戶訪問(wèn)時(shí)可以馬上得到返回,則每個(gè)節(jié)點(diǎn)只能用本地?cái)?shù)據(jù)提供服務(wù),而這樣會(huì)導(dǎo)致全局?jǐn)?shù)據(jù)的不一致性?,F(xiàn)如今應(yīng)該大多數(shù)場(chǎng)景都是會(huì)選擇可用性,而去犧牲一致性(保持最終一致性),就像我們春節(jié)搶紅包的時(shí)候,它不會(huì)立馬告訴你搶了多少金額,只是提示你過(guò)多久再去查看。以及我們春節(jié)搶票的時(shí)候,明明看到這輛高鐵還是郵票的但是等你填完驗(yàn)證碼,以及乘客信息真正提交訂單的時(shí)候就告訴你沒(méi)票了,你再返回列表頁(yè)查看該車(chē)次的時(shí)候,也還繼續(xù)顯示著有票 。這些雖然用戶體驗(yàn)有那么一丟丟的不友好,但是也能接受。

小結(jié)

CAP的選擇的話沒(méi)有哪種更好,只有根據(jù)自己的業(yè)務(wù)場(chǎng)景來(lái)選擇,選擇適合自己的才是最好的。

Base理論

BASE:全稱(chēng):Basically Available(基本可用),Soft state(軟狀態(tài)),和 Eventually consistent(最終一致性)三個(gè)短語(yǔ)的縮寫(xiě),來(lái)自 ebay 的架構(gòu)師提出。Base 理論是對(duì) CAP 中一致性和可用性權(quán)衡的結(jié)果,其來(lái)源于對(duì)大型互聯(lián)網(wǎng)分布式實(shí)踐的總結(jié),是基于 CAP 定理逐步演化而來(lái)的。其核心思想是:

既是無(wú)法做到強(qiáng)一致性(Strong consistency),但每個(gè)應(yīng)用都可以根據(jù)自身的業(yè)務(wù)特點(diǎn),采用適當(dāng)?shù)姆绞絹?lái)使系統(tǒng)達(dá)到最終一致性(Eventual consistency)。

Basically Available(基本可用)

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

Soft State(軟狀態(tài))

允許不影響整體可用性的中間狀態(tài) 即允許系統(tǒng)在多個(gè)不同節(jié)點(diǎn)的數(shù)據(jù)副本存在數(shù)據(jù)延時(shí)。

Eventual Consistency(最終一致性)

上面說(shuō)軟狀態(tài),然后不可能一直是軟狀態(tài),必須有個(gè)時(shí)間期限。在期限過(guò)后,應(yīng)當(dāng)保證所有副本保持?jǐn)?shù)據(jù)一致性。從而達(dá)到數(shù)據(jù)的最終一致性。這個(gè)時(shí)間期限取決于網(wǎng)絡(luò)延時(shí),系統(tǒng)負(fù)載,數(shù)據(jù)復(fù)制方案設(shè)計(jì)等等因素。

系統(tǒng)能夠保證在沒(méi)有其他新的更新操作的情況下,數(shù)據(jù)最終一定能夠達(dá)到一致的狀態(tài),因此所有客戶端對(duì)系統(tǒng)的數(shù)據(jù)訪問(wèn)最終都能夠獲取到最新的值。

結(jié)束

由于自己才疏學(xué)淺,難免會(huì)有紕漏,假如你發(fā)現(xiàn)了錯(cuò)誤的地方,還望留言給我指出來(lái),我會(huì)對(duì)其加以修正。

本文轉(zhuǎn)載自微信公眾號(hào)「 java金融」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系java金融公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: java金融
相關(guān)推薦

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定理計(jì)算機(jī)

2024-07-11 16:38:54

2018-06-20 10:42:47

分布式系統(tǒng)CAP

2020-12-14 14:24:07

CAP分布式數(shù)據(jù)一致性

2009-06-19 15:28:31

JDBC分布式事務(wù)

2023-08-03 07:49:39

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

2021-01-05 08:05:51

Zookeeper

2013-12-06 09:37:49

分布式系統(tǒng)Travis CI

2018-06-08 09:10:49

CAPACELC存儲(chǔ)系統(tǒng)

2020-03-31 08:05:23

分布式開(kāi)發(fā)技術(shù)

2024-11-19 15:55:49

2017-02-17 14:09:14

CAPSpannerCA

2021-08-16 15:40:04

分布式架構(gòu)系統(tǒng)

2021-04-16 15:02:11

CAP理論分布式
點(diǎn)贊
收藏

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