一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

環(huán)球報道:CAP為什么沒有明確考慮收斂性?分布式系統(tǒng)中的收斂性

來源:CSDN 時間:2023-03-09 08:57:46

一致性Consistency, 可用性Availability, 和收斂性Convergence是分布式系統(tǒng)中相對于CAP定理的另外一個定理,2014年由Mahajan, Alvisi, 和 Dahlin提出: Consistency, Availability, and Convergence 。


【資料圖】

CAP(consistency, availability, partition)混合了分布式特性(如一致性和可用性)與系統(tǒng)模型(網(wǎng)絡(luò)可靠性指標(biāo)),在CAC中,則將這些分布式特性與系統(tǒng)模型進行了分離。

收斂性

在經(jīng)典的最終一致性模型中有一些無用的模型,比如所有分布式節(jié)點都會一致返回一個常量值,Mahajian他們通過引入收斂性這個符合我們常識定義來修正了這些漏洞。

CAP為什么沒有明確考慮收斂性?是因為線性化和順序這兩種一致性里面已經(jīng)包含了收斂性的需求,當(dāng)我們檢查如因果一致性 causal consistency,我們會發(fā)現(xiàn)我們必須明確地考慮收斂性。

收斂性是指一種實現(xiàn)能力,它能確保被一個節(jié)點寫入的數(shù)據(jù)被另外一個讀取,收斂性的定義是:描述的是一個節(jié)點能夠讀取到其他節(jié)點的寫入時的一系列環(huán)境條件(如網(wǎng)絡(luò),本地時鐘等)。

一個簡單的收斂性其實是一種最終一致性,如果一個系統(tǒng)停止了接受寫入和足夠的通訊發(fā)生,那么這個系統(tǒng)就會達到一種狀態(tài),這種狀態(tài)是,對于任何對象o,o的讀取會在所有節(jié)點上返回同樣的值。

在節(jié)點A和B之間的單邊收斂 one way convergence是指:使用兩步單向通訊完成收斂性,首先 A將修改發(fā)往B,然后B將修改發(fā)往A。

如果說,一致性是指所有節(jié)點都同意,那么收斂性是指所有節(jié)點都同意是一種可取的有用的狀態(tài)。

通過引入收斂性,我們可以在安全(一致性)和靈活性(可用與收斂)之間取得平衡。

因果一致性

因果一致性(Causal consistency)遵循‘happens-before’ 圖義,也就是說,寫在讀之前發(fā)生,實時因果一致性(RTC)是增加了時間不可逆的約束。

沒有一致性比實時因果一致性(RTC)更強了,RTC能一邊提供可用性,一邊提供收斂性系統(tǒng)。

RTC的實現(xiàn)類似日志交換log-exchange協(xié)議,每個寫操作會產(chǎn)生一個帶有向量時鐘vector clock 或版本向量、對象標(biāo)識和對象值三者結(jié)合的更新,向量時鐘決定更新的優(yōu)先權(quán),每個節(jié)點上的本地存儲跟蹤對每個對象的最近更新,當(dāng)讀取一個對象o時,節(jié)點不需要任何通訊情況下從本地存儲返回最近更新給o,類似地,寫操作更新會被創(chuàng)建和加入到本地存儲和本地日志,節(jié)點之間會定期從它們的本地日志中交換這種更新。最新接受的更新會被追加到本地日志,這樣能夠用于更新節(jié)點的本地存儲,替換任何舊的更新,將在因果上優(yōu)先于新的更新。

在我們實現(xiàn)中,每個節(jié)點定期發(fā)送它的日志到所有其他節(jié)點以確保單邊收斂, 這種實現(xiàn)不需要任何節(jié)點之間通訊能確保讀寫完成,它是單邊收斂的原因是,因為接受來自一個發(fā)送者的更新能應(yīng)用到接受者獲得收斂狀態(tài),節(jié)點之間會定期廣播它們本地日志的所有更新。同時這也是因果一致性,因為向量時鐘攜帶了每次更新,能確保最新的寫操作被讀操作獲得(時間上先后)。最后,它是RTC實現(xiàn),因為向量時鐘分配不會違反實時性要求,比如通過分配一個舊的向量時鐘給一個較新的更新。

責(zé)任編輯:

標(biāo)簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top 主站蜘蛛池模板: 定兴县| 平果县| 高清| 嘉祥县| 崇文区| 襄垣县| 邢台市| 梧州市| 牟定县| 泽库县| 龙门县| 喀什市| 靖江市| 京山县| 镇赉县| 滦平县| 麟游县| 老河口市| 新巴尔虎右旗| 越西县| 鞍山市| 星座| 齐河县| 巫山县| 西畴县| 开阳县| 兰州市| 务川| 平泉县| 长泰县| 固镇县| 喀喇| 青海省| 巢湖市| 通许县| 增城市| 合水县| 友谊县| 文成县| 朝阳市| 城市|