国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論

這篇具有很好參考價(jià)值的文章主要介紹了分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

CAP理論

CAP理論,對(duì)分布式系統(tǒng)的特性做了高度抽象,比如抽象成了一致性、可用性和分區(qū)容錯(cuò)性,并對(duì)特性間的沖突(也就是CAP不可能三角)做了總結(jié)。

CAP三指標(biāo)

CAP理論對(duì)分布式系統(tǒng)的特性做了高度抽象,形成了三個(gè)指標(biāo):

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

一致性:指的是客戶端的每次讀操作,不管訪問哪個(gè)節(jié)點(diǎn),要么讀到的都是同一份最新寫入的數(shù)據(jù),要么讀取失敗。

可用性:指的是任何來自客戶端的請(qǐng)求,不管訪問哪個(gè)非故障節(jié)點(diǎn),都能得到響應(yīng)數(shù)據(jù),但不保證是同一份最新數(shù)據(jù)。這個(gè)指標(biāo)強(qiáng)調(diào)的是服務(wù)可用,但不保證數(shù)據(jù)正確。

分區(qū)容錯(cuò)性:指的是當(dāng)節(jié)點(diǎn)間出現(xiàn)任意數(shù)量的消息丟失或高延遲的時(shí)候,系統(tǒng)仍然在繼續(xù)工作。也就是說,分布式系統(tǒng)在告訴訪問本系統(tǒng)的客戶端:不管我的內(nèi)部出現(xiàn)了什么樣的數(shù)據(jù)同步問題,我會(huì)一直運(yùn)行。這個(gè)指標(biāo)強(qiáng)調(diào)的是集群對(duì)分區(qū)故障的容錯(cuò)能力。

在分布式系統(tǒng)中,分區(qū)容錯(cuò)性是必須要考慮的。

CAP不可能三角

CAP 不可能三角說的是對(duì)于一個(gè)分布式系統(tǒng)而言,一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partition Tolerance)3 個(gè)指標(biāo)不可兼得,只能在 3 個(gè)指標(biāo)中選擇 2 個(gè)。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

如何使用CAP理論

只要有網(wǎng)絡(luò)交互就一定會(huì)有延遲和數(shù)據(jù)丟失,而這種狀況必須接受,還必須保證系統(tǒng)不能掛掉。所以節(jié)點(diǎn)間的分區(qū)故障是必然發(fā)生的。也就是說,分區(qū)容錯(cuò)性(P)是前提,是必須要保證的。

那么剩下一致性(C)和可用性(A)可以選擇了:要么選擇一致性,保證數(shù)據(jù)正確;要么選擇可用性,保證服務(wù)可用。

  • 當(dāng)選擇了一致性(C)的時(shí)候,一定會(huì)讀到最新的數(shù)據(jù),不會(huì)讀到舊數(shù)據(jù),但如果因?yàn)橄G失、延遲過高發(fā)生了網(wǎng)絡(luò)分區(qū),那么這個(gè)時(shí)候,當(dāng)集群節(jié)點(diǎn)接收到來自客戶端的讀請(qǐng)求時(shí),為了不破壞一致性,可能會(huì)因?yàn)闊o法響應(yīng)最新數(shù)據(jù),而返回出錯(cuò)信息。
  • 當(dāng)選擇了可用性(A)的時(shí)候,系統(tǒng)將始終處理客戶端的查詢,返回特定信息,如果發(fā)生了網(wǎng)絡(luò)分區(qū),一些節(jié)點(diǎn)將無法返回最新的特定信息,它們將返回自己當(dāng)前的相對(duì)新的信息。

許多人認(rèn)為無論在什么情況下,分布式系統(tǒng)都只能在C和A中選擇1個(gè)。其實(shí)在分布式系統(tǒng)正常運(yùn)行時(shí),就是說在不需要P時(shí),C和A能夠同事保證。只有當(dāng)發(fā)生分區(qū)故障的時(shí)候,也就是說需要P時(shí),才會(huì)在C和A之間做出選擇。

小結(jié)

CA模型,在分布式系統(tǒng)中不存在。因?yàn)樯釛?P,意味著舍棄分布式系統(tǒng),就比如單機(jī)版關(guān)系型數(shù)據(jù)庫 MySQL,如果 MySQL 要考慮主備或集群部署時(shí),它必須考慮 P。

CP模型,采用 CP 模型的分布式系統(tǒng),舍棄了可用性,一定會(huì)讀到最新數(shù)據(jù),不會(huì)讀到舊數(shù)據(jù)。一旦因?yàn)橄G失、延遲過高發(fā)生了網(wǎng)絡(luò)分區(qū),就影響用戶的體驗(yàn)和業(yè)務(wù)的可用性(比如基于 Raft 的強(qiáng)一致性系統(tǒng),此時(shí)可能無法執(zhí)行讀操作和寫操作)。典型的應(yīng)用是 Etcd,Consul 和 Hbase。

AP模型,采用 AP 模型的分布式系統(tǒng),舍棄了一致性,實(shí)現(xiàn)了服務(wù)的高可用。用戶訪問系統(tǒng)的時(shí)候,都能得到響應(yīng)數(shù)據(jù),不會(huì)出現(xiàn)響應(yīng)錯(cuò)誤,但會(huì)讀到舊數(shù)據(jù)。典型應(yīng)用就比如 Cassandra 和 DynamoDB。

在當(dāng)前分布式系統(tǒng)開發(fā)中,延遲是非常重要的一個(gè)指標(biāo),比如,在 QQ 后臺(tái)的名字路由系統(tǒng)中,通過延遲評(píng)估服務(wù)可用性,進(jìn)行負(fù)載均衡和容災(zāi);再比如,在 Hashicorp/Raft 實(shí)現(xiàn)中,通過延遲評(píng)估領(lǐng)導(dǎo)者節(jié)點(diǎn)的服務(wù)可用性,以及決定是否發(fā)起領(lǐng)導(dǎo)者選舉。所以,在分布式系統(tǒng)的開發(fā)中,需要意識(shí)到延遲的重要性,能通過延遲來衡量服務(wù)的可用性。

ACID理論

ACID理論可以看成是對(duì)事務(wù)特性的抽象和總結(jié),方便實(shí)現(xiàn)事務(wù)??梢岳斫鉃椋喝绻麑?shí)現(xiàn)了操作的ACID特性,那么就實(shí)現(xiàn)了事務(wù)。在單機(jī)上實(shí)現(xiàn)事務(wù)并不難,如可以通過鎖、時(shí)間序列等機(jī)制保障操作的順序執(zhí)行,讓系統(tǒng)實(shí)現(xiàn)ACID特性。但在分布式系統(tǒng)中比較困難,因?yàn)榉植枷到y(tǒng)涉及多個(gè)節(jié)點(diǎn)間的操作。加鎖、時(shí)間序列等機(jī)制,只能保證單個(gè)節(jié)點(diǎn)上的ACID特性,無法保證節(jié)點(diǎn)間操作的ACID特性。

通過分布式事務(wù)協(xié)議,如二階段提交協(xié)議和**TCC(Try-Confirm-Cancel)**可以實(shí)現(xiàn)分布式系統(tǒng)上的ACID特性。

問題:

如何保證節(jié)點(diǎn)A、B、C執(zhí)行分布式事務(wù)操作X,要么全部執(zhí)行,要么全部不執(zhí)行。

二階段提交協(xié)議

二階段提交協(xié)議(2pc),就是通過二階段的協(xié)商來完成一個(gè)提交操作,具體的操作如下:

客戶端發(fā)送消息給節(jié)點(diǎn)A,節(jié)點(diǎn)A收到消息后就扮演協(xié)調(diào)者(Coordinator)的身份,由節(jié)點(diǎn)A通信節(jié)點(diǎn)B和節(jié)點(diǎn)C,發(fā)起二階段提交。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

第一階段為提交請(qǐng)求節(jié)點(diǎn)(又稱投票階段)。首先節(jié)點(diǎn)A向節(jié)點(diǎn)B和節(jié)點(diǎn)C發(fā)送消息:“能否執(zhí)行操作X”,節(jié)點(diǎn)B和節(jié)點(diǎn)C判斷 能否執(zhí)行操作X,如果可以就預(yù)留一部分資源給操作X。最后將能否執(zhí)行操作X發(fā)送給節(jié)點(diǎn)A,節(jié)點(diǎn)A收到全部的回復(fù)結(jié)果(包括自己的結(jié)果),這里假設(shè)全都是能夠執(zhí)行的回復(fù)。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

第二階段為提交執(zhí)行階段(又稱完成階段),也就是執(zhí)行具體的操作了。首先節(jié)點(diǎn)A按照要么全部執(zhí)行,要么全部放棄的原則,統(tǒng)計(jì)回復(fù)結(jié)果,由于所有的回復(fù)結(jié)果都是能夠執(zhí)行,所以節(jié)點(diǎn)A決定執(zhí)行分布式事務(wù)操作X。然后通知節(jié)點(diǎn)B、節(jié)點(diǎn)C執(zhí)行操作X。節(jié)點(diǎn)B和節(jié)點(diǎn)C在收到通知后,執(zhí)行事務(wù)操作X。最后節(jié)點(diǎn)B和節(jié)點(diǎn)C將執(zhí)行事務(wù)的結(jié)果返回給節(jié)點(diǎn)A。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

在第一個(gè)階段中,每個(gè)節(jié)點(diǎn)決定是放棄還是提交,一旦參與者決定提交事務(wù),那么就不允許放棄事務(wù)。也就是說,在一個(gè)節(jié)點(diǎn)決定提交事務(wù)之前,它必須保證能夠執(zhí)行事務(wù)操作,即使出現(xiàn)故障或者中途被替換掉。

在第二個(gè)階段中,事務(wù)的每個(gè)參與節(jié)點(diǎn)執(zhí)行最終統(tǒng)一的決定,提交或者放棄事務(wù)。這個(gè)約定,實(shí)現(xiàn)了ACID中的原子性。

二階段提交協(xié)議最早時(shí)用來實(shí)現(xiàn)數(shù)據(jù)庫的分布式事務(wù)的,不過現(xiàn)在常用的協(xié)議是XA協(xié)議,該協(xié)議是基于二階段提交協(xié)議提出的。不管是原始的二階段提交協(xié)議,還是XA協(xié)議,都存在一些問題:

  • 在提交請(qǐng)求階段,需要預(yù)留資源,在資源預(yù)留期間,其他人不能操作。。
  • 數(shù)據(jù)庫是獨(dú)立的系統(tǒng)。(數(shù)據(jù)庫是獨(dú)立的,也就是說數(shù)據(jù)庫是獨(dú)立的第三方軟件,我們可以編程或修改業(yè)務(wù)代碼,但很少會(huì)修改數(shù)據(jù)庫核心代碼,更不會(huì)根據(jù)業(yè)務(wù)需求修改實(shí)現(xiàn)不同的數(shù)據(jù)庫代碼邏輯。)

個(gè)人感覺2pc依賴每個(gè)數(shù)據(jù)庫節(jié)點(diǎn)的事務(wù)。

TCC(Try-Confirm-Cancel)

TCC 是Try(預(yù)留)、Confirm(確認(rèn))、Cancel(撤銷)3個(gè)操作的簡稱,它包含了預(yù)留、確認(rèn)或撤銷這2個(gè)階段。

第一階段為預(yù)留階段??蛻舳送ㄖ?jié)點(diǎn)A、節(jié)點(diǎn)B、節(jié)點(diǎn)C讓它們預(yù)留執(zhí)行操作X的相關(guān)資源,客戶端實(shí)現(xiàn)確認(rèn)操作(執(zhí)行操作X)和撤銷操作(取消執(zhí)行操作X)。然后客戶端收到節(jié)點(diǎn)A、節(jié)點(diǎn)B、節(jié)點(diǎn)C的預(yù)留答復(fù),假設(shè)這里都是OK。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

如果預(yù)留階段的執(zhí)行都沒有問題,就進(jìn)入確認(rèn)階段。客戶端執(zhí)行確認(rèn)操作,通知節(jié)點(diǎn)A、節(jié)點(diǎn)B、節(jié)點(diǎn)C執(zhí)行操作,客戶端收到確認(rèn)操作的響應(yīng)后,完成分布式事務(wù)。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

如果預(yù)留階段出錯(cuò),比如節(jié)點(diǎn)A無法執(zhí)行操作X,那么就進(jìn)入撤銷階段。客戶端執(zhí)行撤銷操作,通知節(jié)點(diǎn)A、節(jié)點(diǎn)B、節(jié)點(diǎn)C取消執(zhí)行操作X,客戶端收到撤銷操作的響應(yīng)。

分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論,分布式協(xié)議與算法,分布式,算法

TCC本質(zhì)上是補(bǔ)償事務(wù),它的核心思想是針對(duì)每個(gè)操作都要注冊(cè)一個(gè)與其對(duì)應(yīng)的確認(rèn)操作和補(bǔ)償操作(也就是撤銷操作)。它是一個(gè)業(yè)務(wù)層面的協(xié)議,可以將TCC理解為編程模型,即TCC的三個(gè)操作都是在業(yè)務(wù)代碼中編程實(shí)現(xiàn)的。為了實(shí)現(xiàn)一致性,確認(rèn)操作和補(bǔ)償操作必須是冪等的。這兩個(gè)操作會(huì)失敗重試。

TCC不依賴于數(shù)據(jù)庫的事務(wù)(2pc應(yīng)該是要依賴的),而是在業(yè)務(wù)中實(shí)現(xiàn)了分布式事務(wù),這能減輕數(shù)據(jù)庫的壓力,但對(duì)業(yè)務(wù)代碼的入侵性比較高,實(shí)現(xiàn)比較復(fù)雜。

ps:我感覺這點(diǎn)是與2pc不同的點(diǎn)吧,還有2pc是有一個(gè)節(jié)點(diǎn)作為協(xié)調(diào)者,而TCC是由客戶端作為協(xié)調(diào)者。

小結(jié)

二階段提交協(xié)議和TCC是實(shí)現(xiàn)分布式系統(tǒng)ACID特性的方法

  1. 二階段提交協(xié)議,不僅僅是協(xié)議,也是一種非常經(jīng)典的思想。二階段提交在達(dá)成提交操作共識(shí)的算法中應(yīng)用廣泛,比如 XA 協(xié)議、TCC、Paxos、Raft 等。
  2. 冪等性,是指同一操作對(duì)同一系統(tǒng)的任意多次執(zhí)行,所產(chǎn)生的影響均與一次執(zhí)行的影響相同,不會(huì)因?yàn)槎啻螆?zhí)行而產(chǎn)生副作用。常見的實(shí)現(xiàn)方法有 Token、索引等。它的本質(zhì)是通過唯一標(biāo)識(shí),標(biāo)記同一操作的方式,來消除多次執(zhí)行的副作用。

可以將 ACID 特性理解為 CAP 中一致性的邊界,最強(qiáng)的一致性。根據(jù) CAP 理論,如果在分布式系統(tǒng)中實(shí)現(xiàn)了一致性,可用性必然受到影響。比如,如果出現(xiàn)一個(gè)節(jié)點(diǎn)故障,則整個(gè)分布式事務(wù)的執(zhí)行都是失敗的。實(shí)際上,絕大部分場景對(duì)一致性要求沒那么高,短暫的不一致是能接受的,另外,也基于可用性和并發(fā)性能的考慮,在開發(fā)實(shí)現(xiàn)分布式系統(tǒng),如果不是必須,盡量不要實(shí)現(xiàn)事務(wù),可以考慮采用最終一致性。

BASE理論

BASE 理論是 CAP 理論中的 AP 的延伸,是對(duì)互聯(lián)網(wǎng)大規(guī)模分布式系統(tǒng)的實(shí)踐總結(jié),強(qiáng)調(diào)可用性。

BASE理論的核心是基本可用(Basically Available)和最終一致性(Eventually consistent)。還有一種過度狀態(tài)—軟狀態(tài)(Soft state),軟狀態(tài)描述的是實(shí)現(xiàn)服務(wù)可用性的時(shí)候系統(tǒng)數(shù)據(jù)的一種過度狀態(tài),也就是說不通節(jié)點(diǎn)間,數(shù)據(jù)副本存在短暫的不一致。

實(shí)現(xiàn)可用的4種方式

  • 流量削峰:例如12306訂票系統(tǒng),可以在不同的時(shí)間,出售不同區(qū)域的票,將訪問請(qǐng)求錯(cuò)開,消弱請(qǐng)求峰值。
  • 延遲響應(yīng):將購票請(qǐng)求在隊(duì)列中進(jìn)行排隊(duì),過段時(shí)間在進(jìn)行處理。
  • 體驗(yàn)降級(jí):如使用小圖片代替原始圖片,通過降低圖片的清晰度和大小,提升系統(tǒng)的處理能力。
  • 過載保護(hù):把接收到的請(qǐng)求放在指定的隊(duì)列中排隊(duì)處理,如果請(qǐng)求等待時(shí)間超時(shí)了(假設(shè)是 100ms),這個(gè)時(shí)候直接拒絕超時(shí)請(qǐng)求;再比如隊(duì)列滿了之后,就清除隊(duì)列中一定數(shù)量的排隊(duì)請(qǐng)求,保護(hù)系統(tǒng)不過載,實(shí)現(xiàn)系統(tǒng)的基本可用。

最終一致性

最終一致性是說,系統(tǒng)中所有的數(shù)據(jù)副本在經(jīng)過一段時(shí)間的同步之后,最終能夠達(dá)到一個(gè)一致的狀態(tài)。在數(shù)據(jù)一致性上,存在一個(gè)短暫的延遲。

那么如何實(shí)現(xiàn)最終一致性? 首先確定它以什么為準(zhǔn),因?yàn)檫@是實(shí)現(xiàn)最終一致性的關(guān)鍵。一般來說,工程實(shí)踐中有如下幾種方式:

  • 以最新寫入的數(shù)據(jù)為準(zhǔn),比如 AP 模型的 KV 存儲(chǔ)采用的就是這種方式(就是最新的數(shù)據(jù));
  • 以第一次寫入的數(shù)據(jù)為準(zhǔn),如果你不希望存儲(chǔ)的數(shù)據(jù)被更改,可以以它為準(zhǔn)(就是一次寫入后面不會(huì)修改了)。

常見的實(shí)現(xiàn)最終一致性的具體方式如下:

  • 讀時(shí)修復(fù):在讀取數(shù)據(jù)時(shí),檢測數(shù)據(jù)的不一致,進(jìn)行修復(fù)。比如 Cassandra 的 Read Repair 實(shí)現(xiàn),具體來說,在向 Cassandra 系統(tǒng)查詢數(shù)據(jù)的時(shí)候,如果檢測到不同節(jié)點(diǎn)的副本數(shù)據(jù)不一致,系統(tǒng)就自動(dòng)修復(fù)數(shù)據(jù)。
  • 寫時(shí)修復(fù):在寫入數(shù)據(jù),檢測數(shù)據(jù)的不一致時(shí),進(jìn)行修復(fù)。比如 Cassandra 的 Hinted Handoff 實(shí)現(xiàn)。具體來說,Cassandra 集群的節(jié)點(diǎn)之間遠(yuǎn)程寫數(shù)據(jù)的時(shí)候,如果寫失敗就將數(shù)據(jù)緩存下來,然后定時(shí)重傳,修復(fù)數(shù)據(jù)的不一致性。
  • 異步修復(fù):這個(gè)是最常用的方式,通過定時(shí)檢測副本數(shù)據(jù)的一致性,并修復(fù)(反熵的方式)。

寫修復(fù)就是寫的時(shí)候沒有成功就將數(shù)據(jù)緩存下來,然后定時(shí)重傳,保證數(shù)據(jù)寫入成功。寫修復(fù)不需要做數(shù)據(jù)一致性對(duì)比,性能消耗比較低,對(duì)系統(tǒng)運(yùn)行影響不大。而讀修復(fù)和異步修復(fù)需要做數(shù)據(jù)的一致性對(duì)比,性能消耗比較多。因此推薦寫修復(fù)實(shí)現(xiàn)最終一致性。文章來源地址http://www.zghlxwxcb.cn/news/detail-633326.html

小結(jié)

  1. BASE 理論是對(duì) CAP 中一致性和可用性權(quán)衡的結(jié)果,它來源于對(duì)大規(guī)?;ヂ?lián)網(wǎng)分布式系統(tǒng)實(shí)踐的總結(jié),是基于 CAP 定理逐步演化而來的。它的核心思想是,如果不是必須的話,不推薦實(shí)現(xiàn)事務(wù)或強(qiáng)一致性,鼓勵(lì)可用性和性能優(yōu)先,根據(jù)業(yè)務(wù)的場景特點(diǎn),來實(shí)現(xiàn)非常彈性的基本可用,以及實(shí)現(xiàn)數(shù)據(jù)的最終一致性。
  2. BASE 理論主張通過犧牲部分功能的可用性,實(shí)現(xiàn)整體的基本可用,也就是說,通過服務(wù)降級(jí)的方式,努力保障極端情況下的系統(tǒng)可用性。
  3. ACID 理論是傳統(tǒng)數(shù)據(jù)庫常用的設(shè)計(jì)理念,追求強(qiáng)一致性模型。BASE 理論支持的是大型分布式系統(tǒng),通過犧牲強(qiáng)一致性獲得高可用性。BASE 理論在很大程度上,解決了事務(wù)型系統(tǒng)在性能、容錯(cuò)、可用性等方面痛點(diǎn)。另外我再多說一句,BASE 理論在 NoSQL 中應(yīng)用廣泛,是 NoSQL 系統(tǒng)設(shè)計(jì)的事實(shí)上的理論支撐。

參考

  • 分布式協(xié)議與算法實(shí)戰(zhàn) 學(xué)習(xí)筆記

到了這里,關(guān)于分布式協(xié)議與算法——CAP理論、ACID理論、BASE理論的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深入淺出 -- 系統(tǒng)架構(gòu)之分布式CAP理論和BASE理論

    深入淺出 -- 系統(tǒng)架構(gòu)之分布式CAP理論和BASE理論

    科技進(jìn)步離不開理論支撐,而當(dāng)下大行其道的分布式架構(gòu),透過繁榮昌盛表象,底層同樣離不開諸多分布式理論撐持。當(dāng)然,相信諸位在學(xué)習(xí)分布式相關(guān)技術(shù)時(shí),必然學(xué)到過兩個(gè)分布式領(lǐng)域中的基礎(chǔ)理論,即: CAP與BASE理論 。 當(dāng)一個(gè)從邏輯上被視為整體的系統(tǒng),拆散到多個(gè)節(jié)

    2024年04月13日
    瀏覽(32)
  • 分布式理論基礎(chǔ):CAP定理

    分布式理論基礎(chǔ):CAP定理

    CAP原則又稱CAP定理,指的是在一個(gè)分布式系統(tǒng)中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區(qū)容錯(cuò)性)這三個(gè)基本需求,最多只能同時(shí)滿足其中的2個(gè)。 一致性 :數(shù)據(jù)在多個(gè)副本之間能夠保持一致的特性。 可用性 :系統(tǒng)提供的服務(wù)一直處于可用的狀態(tài)

    2024年02月05日
    瀏覽(18)
  • 分布式系統(tǒng)面試全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事務(wù)+分布式鎖)

    分布式系統(tǒng)面試全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事務(wù)+分布式鎖)

    什么是分布式 一個(gè)系統(tǒng)各組件分別部署在不同服務(wù)器。彼此通過網(wǎng)絡(luò)通信和協(xié)調(diào)的系統(tǒng)。 也可以指多個(gè)不同組件分布在網(wǎng)絡(luò)上互相協(xié)作,比如說電商網(wǎng)站 也可以一個(gè)組件的多個(gè)副本組成集群,互相協(xié)作如同一個(gè)組件,比如數(shù)據(jù)存儲(chǔ)服務(wù)中為了數(shù)據(jù)不丟失而采取的多個(gè)服務(wù)備

    2024年04月11日
    瀏覽(28)
  • 深入理解高并發(fā)下的MySQL與Redis緩存一致性問題(增刪改查數(shù)據(jù)緩存的一致性、Canal、分布式系統(tǒng)CAP定理、BASE理論、強(qiáng)、弱一致性、順序、線性、因果、最終一致性)

    一些小型項(xiàng)目,或極少有并發(fā)的項(xiàng)目,這些策略在無并發(fā)情況下,不會(huì)有什么問題。 讀數(shù)據(jù)策略:有緩存則讀緩存,然后接口返回。沒有緩存,查詢出數(shù)據(jù),載入緩存,然后接口返回。 寫數(shù)據(jù)策略:數(shù)據(jù)發(fā)生了變動(dòng),先刪除緩存,再更新數(shù)據(jù),等下次讀取的時(shí)候載入緩存,

    2024年03月20日
    瀏覽(29)
  • 【分布式】1、CAP 理論 | 一致性、可用性、分區(qū)容忍性

    【分布式】1、CAP 理論 | 一致性、可用性、分區(qū)容忍性

    是 2002 年證明的定理,原文,內(nèi)容如下: In a distributed system (a collection of interconnected nodes that share data.), you can only have two out of the following three guarantees across a write/read pair: Consistency, Availability, and Partition Tolerance - one of them must be sacrificed. 在一個(gè)分布式系統(tǒng)(指互相連接并共享數(shù)據(jù)

    2024年02月16日
    瀏覽(23)
  • 分布式理論基礎(chǔ):BASE理論

    BASE 是指基本可用(Basically Available)、軟狀態(tài)( Soft State)、最終一致性( Eventual Consistency),核心思想是即使無法做到強(qiáng)一致性(CAP 的一致性就是強(qiáng)一致性),但應(yīng)用可以采用適合的方式達(dá)到最終一致性。 分布式系統(tǒng)在出現(xiàn)故障時(shí),允許損失部分可用性,即保證核心可用。

    2024年02月04日
    瀏覽(24)
  • 分布式系統(tǒng)中的那些一致性(CAP、BASE、2PC、3PC、Paxos、ZAB、Raft)

    分布式系統(tǒng)中的那些一致性(CAP、BASE、2PC、3PC、Paxos、ZAB、Raft)

    本文介紹 CAP、BASE理論的正確理解、Paxos 算法如何保證一致性及死循環(huán)問題、ZAB 協(xié)議中原子廣播及崩潰恢復(fù)以及 Raft 算法的動(dòng)態(tài)演示。 下面還有投票,一起參與進(jìn)來吧?? 工作過幾年的同學(xué),尤其是這幾年,大家或多或少都參與過分布式系統(tǒng)的開發(fā),遇到過各式各樣“分布式

    2024年02月05日
    瀏覽(29)
  • 一篇搞定分布式大數(shù)據(jù)系統(tǒng)所有概念,包括有Hadoop、MapReduce、HDFS、HBASE、NoSql 、ZooKeeper 、Reidis 、Nginx 、BASE、CAP定義、特點(diǎn)和應(yīng)用場景

    1.1hadoop定義和特點(diǎn) Hadoop定義: Hadoop是一個(gè)開源的分布式計(jì)算框架,用于存儲(chǔ)和處理大規(guī)模數(shù)據(jù)集。它基于Google的MapReduce論文和Google文件系統(tǒng)(GFS)的設(shè)計(jì)理念,并由Apache軟件基金會(huì)進(jìn)行開發(fā)和維護(hù)。 Hadoop的主要特點(diǎn)包括: 分布式存儲(chǔ):Hadoop通過分布式文件系統(tǒng)(Hadoop Dist

    2024年02月03日
    瀏覽(94)
  • 分布式系統(tǒng)之CAP定理介紹

    ??在分布式系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)中,CAP定理是一個(gè)非常重要的概念。本文將介紹CAP定理的概念、含義和應(yīng)用。 ??CAP定理是分布式系統(tǒng)設(shè)計(jì)中的一個(gè)基本原則,它指出,在分布式系統(tǒng)中,一致性(Consistency)、可用性(Availability)和分區(qū)容忍性(Partition tolerance)這三個(gè)目標(biāo)無

    2024年02月04日
    瀏覽(20)
  • 分布式協(xié)議與算法——Paxos算法

    分布式協(xié)議與算法——Paxos算法

    Paxos論文 Paxos Made Simple 、author:Leslie Lamport(蘭伯特) Paxos算法是一種共識(shí)算法,一些常用的共識(shí)算法都是基于它改進(jìn)的,如Fast Paxos算法、Cheep Paxos算法、Raft算法等。Paxos算法包含2個(gè)部分: Basic Paxos算法,描述的是多節(jié)點(diǎn)之間如何就某個(gè)值(提案 value)達(dá)成共識(shí)。 Multi-Paxos算

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包