欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:分布式理論基礎(chǔ)

柚子快報(bào)邀請(qǐng)碼778899分享:分布式理論基礎(chǔ)

http://yzkb.51969.com/

文章目錄

1、理論基礎(chǔ)2、CAP定理1_一致性2_可用性3_分區(qū)容錯(cuò)性4_總結(jié)

3、BASE理論1_Basically Available(基本可用)2_Soft State(軟狀態(tài))3_Eventually Consistent(最終一致性)4_總結(jié)

1、理論基礎(chǔ)

在計(jì)算機(jī)科學(xué)領(lǐng)域,分布式一致性是一個(gè)相當(dāng)重要的問(wèn)題。

分布式系統(tǒng)要解決的一個(gè)重要問(wèn)題是數(shù)據(jù)復(fù)制。

數(shù)據(jù)復(fù)制為分布式系統(tǒng)帶來(lái)了高可用、高性能,但也同時(shí)帶來(lái)了分布式一致性挑戰(zhàn):在對(duì)一個(gè)副本數(shù)據(jù)進(jìn)行更新時(shí),必須確保也更新其他副本,否則不同副本的數(shù)據(jù)將不一致。

如何解決這個(gè)問(wèn)題 ?

一種思路是:阻塞 “寫” 操作,直到數(shù)據(jù)復(fù)制完成。

但這個(gè)思路在解決一致性問(wèn)題的同時(shí),又帶來(lái)了 “寫” 操作性能低的問(wèn)題。

如果有高并發(fā)的 “寫” 請(qǐng)求,則在使用這個(gè)思路之后,大量 “寫” 請(qǐng)求阻塞,導(dǎo)致系統(tǒng)整體性能急劇下降。

如何既保證數(shù)據(jù)的一致性,又不影響系統(tǒng)運(yùn)行的性能,是每一個(gè)分布式系統(tǒng)都需要重點(diǎn)考慮和權(quán)衡的問(wèn)題。

如何實(shí)現(xiàn)一種既能保證ACID特性,又能保證高性能的分布式事務(wù)處理系統(tǒng)是一個(gè)世界性難題。

在技術(shù)演進(jìn)過(guò)程中,出現(xiàn)了諸如CAP和BASE 這樣的分布式系統(tǒng)理論。

2、CAP定理

1998年,加州大學(xué)的計(jì)算機(jī)科學(xué)家 Eric Brewer 提出,分布式系統(tǒng)有三個(gè)指標(biāo)。

Consistency(一致性)Availability(可用性)Partition tolerance (分區(qū)容錯(cuò)性)

它們的第一個(gè)字母分別是 C、A、P。

Eric Brewer 說(shuō),這三個(gè)指標(biāo)不可能同時(shí)做到,這個(gè)結(jié)論就叫做 CAP 定理。

CAP定理是分布式系統(tǒng)的指導(dǎo)理論,它指出:一個(gè)分布式系統(tǒng)不可能同時(shí)滿足 一致性(C: Consistency)、可用性(A: Availability) 和 分區(qū)容錯(cuò)性(P: PartitionTolerance) 這3個(gè)需求,最多只能同時(shí)滿足其中兩項(xiàng)。

1_一致性

Consistency (一致性):指 "all nodes see the same data at the same time",即更新操作成功并返回客戶端后,所有節(jié)點(diǎn)在同一時(shí)間的數(shù)據(jù)完全一致,這就是分布式的一致性。

一致性的問(wèn)題在并發(fā)系統(tǒng)中不可避免,對(duì)于客戶端來(lái)說(shuō),一致性指的是并發(fā)訪問(wèn)時(shí)更新過(guò)的數(shù)據(jù)如何獲取的問(wèn)題。

從服務(wù)端來(lái)看,則是更新如何復(fù)制分布到整個(gè)系統(tǒng),以保證數(shù)據(jù)最終一致。

這里的一致性是指強(qiáng)一致性,一般關(guān)系型數(shù)據(jù)庫(kù)就具有強(qiáng)-致性特性。

2_可用性

Availability (可用性):指 "Reads and writes always succeed",即服務(wù)一直可用,而且是正常響應(yīng)時(shí)間。

好的可用性主要是指系統(tǒng)能夠很好的為用戶服務(wù),不出現(xiàn)用戶操作失敗或者訪問(wèn)超時(shí)等用戶體驗(yàn)不好的情況。

3_分區(qū)容錯(cuò)性

Partition Tolerance (分區(qū)容錯(cuò)性):指 "the system continues to operate despite arbitrary message loss or failure of part of the system",即分布式系統(tǒng)在遇到某節(jié)點(diǎn)或網(wǎng)絡(luò)分區(qū)故障的時(shí)候,仍然能夠?qū)ν馓峁M足一致性和可用性的服務(wù)。

分區(qū)容錯(cuò)性要求能夠使應(yīng)用雖然是一個(gè)分布式系統(tǒng),而看上去卻好像是在一個(gè)可以運(yùn)轉(zhuǎn)正常的整體。

比如現(xiàn)在的分布式系統(tǒng)中有某一個(gè)或者幾個(gè)機(jī)器宕掉或失聯(lián)了,其他剩下的機(jī)器還能夠正常運(yùn)轉(zhuǎn)滿足系統(tǒng)需求,對(duì)于用戶而言并沒有什么體驗(yàn)上的影響。

因?yàn)榉植际较到y(tǒng)無(wú)法同時(shí)滿足一致性、可用性、分區(qū)容錯(cuò)性這3個(gè)基本需求,所以我們?cè)谠O(shè)計(jì)分布式系統(tǒng)時(shí)就必須有所取舍。

對(duì)于分布式系統(tǒng)而言,分區(qū)容錯(cuò)性是最基本的要求,因?yàn)榧热皇且粋€(gè)分布式系統(tǒng),那么分布式系統(tǒng)中的組件必然會(huì)被部署到不同的節(jié)點(diǎn),否則也就無(wú)所謂分布式系統(tǒng)了,因此必然會(huì)出現(xiàn)子網(wǎng)絡(luò)。

而對(duì)于分布式系統(tǒng)而言,網(wǎng)絡(luò)又必定會(huì)出現(xiàn)異常情況因此,分區(qū)容錯(cuò)性就成為了分布式系統(tǒng)必然需要面對(duì)和解決的問(wèn)題。

4_總結(jié)

在分布式系統(tǒng)中,系統(tǒng)間的網(wǎng)絡(luò)不能100%保證健康,一定會(huì)有故障的時(shí)候,而服務(wù)有必須對(duì)外保證服務(wù)。因此Partition Tolerance 不可避免。

當(dāng)節(jié)點(diǎn)接收到新的數(shù)據(jù)變更時(shí),就會(huì)出現(xiàn)問(wèn)題了:

如果此時(shí)要保證一致性,就必須等待網(wǎng)絡(luò)恢復(fù),完成數(shù)據(jù)同步后,整個(gè)集群才對(duì)外提供服務(wù),服務(wù)處于阻塞狀態(tài),不可用。

如果此時(shí)要保證可用性,就不能等待網(wǎng)絡(luò)恢復(fù),那 node01、node02 與 node03 之間就會(huì)出現(xiàn)數(shù)據(jù)不一致。

也就是說(shuō),在P一定會(huì)出現(xiàn)的情況下,A和C之間只能實(shí)現(xiàn)一個(gè)。

CP without A,即實(shí)現(xiàn)一致性和分區(qū)容錯(cuò)性。

此組合為數(shù)據(jù)強(qiáng)一致性模式,即要求在多服務(wù)之間數(shù)據(jù)一定要一致,弱化了可用性。 一些對(duì)數(shù)據(jù)要求比較高的場(chǎng)景(比如金融業(yè)務(wù)等)使用此模式,這種模式性能偏低。 常用方案有 XA 兩階段提交、Seata AT 模式的“讀已提交”級(jí)別等。

AP without C,即實(shí)現(xiàn)可用性和分區(qū)容錯(cuò)性。

此組合為數(shù)據(jù)最終一致性模式,即要求所有服務(wù)都可用,弱化了一致性。 互聯(lián)網(wǎng)分布式服務(wù)多數(shù)基于AP,這種模式性能高,可以滿足高并發(fā)的業(yè)務(wù)需求。 常用方案有TCC、基于消息的最終一致性、Saga等。

CA without P,即實(shí)現(xiàn)一致性和可用性:

如果不要求P(不允許分區(qū)),則C(強(qiáng)一致性)和A(可用性)是可以保證的。 但放棄P的同時(shí)也就意味著放棄了系統(tǒng)的擴(kuò)展性,也就是分布式節(jié)點(diǎn)受限,沒辦法部署子節(jié)點(diǎn),這是違背分布式系統(tǒng)設(shè)計(jì)的初衷的。

系統(tǒng)架構(gòu)師往往需要把精力花在如何根據(jù)業(yè)務(wù)特點(diǎn)在 C(一致性) 和 A(可用性) 之間做選擇,即選擇 CP 還是 AP。

3、BASE理論

BASE是 Basically Available(基本可用)、Soft State(軟狀態(tài)) 和 EventuallyConsistency(最終一致性) 這3個(gè)短語(yǔ)的縮寫。

BASE理論是對(duì)CAP中的一致性及可用性進(jìn)行權(quán)衡的結(jié)果,其核心思想是:無(wú)法做到強(qiáng)一致性,那么可以通過(guò)犧牲強(qiáng)一致性來(lái)獲得可用性。

BASE理論是對(duì)CAP的一種解決思路,包含三個(gè)思想:

1_Basically Available(基本可用)

基本可用是對(duì) A(可用性) 的一個(gè)妥協(xié),即在分布式系統(tǒng)出現(xiàn)不可預(yù)知故障時(shí),允許損失部分可用性。比如在秒殺場(chǎng)景和雪崩的業(yè)務(wù)場(chǎng)景下進(jìn)行降級(jí)處理,使核心功能可用,而不是所有的功能可用。

分布式系統(tǒng)在出現(xiàn)故障時(shí),允許損失部分可用性,即保證核心可用。

2_Soft State(軟狀態(tài))

軟狀態(tài)是相對(duì)于原子性而言的。

要求多個(gè)節(jié)點(diǎn)的數(shù)據(jù)副本是一致的,這是一種“硬狀態(tài)”。

“軟狀態(tài)” 指的是:允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),并認(rèn)為該狀態(tài)不影響系統(tǒng)的整體可用性,即允許系統(tǒng)在多個(gè)不同節(jié)點(diǎn)的數(shù)據(jù)副本上存在數(shù)據(jù)延時(shí)。

在一定時(shí)間內(nèi),允許出現(xiàn)中間狀態(tài),比如臨時(shí)的不一致狀態(tài)。

3_Eventually Consistent(最終一致性)

不可能一直是 “軟狀態(tài)” ,必須有個(gè)時(shí)間期限。

在時(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ì)等因素。

雖然無(wú)法保證強(qiáng)一致性,但是在軟狀態(tài)結(jié)束后,最終達(dá)到數(shù)據(jù)一致。

不只是分布式系統(tǒng)使用最終一致性,關(guān)系型數(shù)據(jù)庫(kù)在某個(gè)功能上也使用最終一致性。

比如在備份時(shí),數(shù)據(jù)庫(kù)的復(fù)制過(guò)程是需要時(shí)間的,在這個(gè)復(fù)制過(guò)程中,業(yè)務(wù)讀取的值就是“舊”的。

當(dāng)然,最終還是達(dá)到了數(shù)據(jù)一致性。

4_總結(jié)

總體來(lái)說(shuō),BASE 理論面向的是大型高可用、可擴(kuò)展的分布式系統(tǒng)。

不同于 ACID,BASE 理論提出通過(guò)犧牲強(qiáng)一致性來(lái)獲得可用性,并允許在一定時(shí)間內(nèi)的不一致,但是最終達(dá)到一致。

在實(shí)際的分布式場(chǎng)景中,不同業(yè)務(wù)對(duì)數(shù)據(jù)的一致性要求不一樣。因此在設(shè)計(jì)時(shí),往往結(jié)合使用 ACID 和 BASE 理論。

柚子快報(bào)邀請(qǐng)碼778899分享:分布式理論基礎(chǔ)

http://yzkb.51969.com/

精彩鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19583369.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄