摘要:假設(shè)暴漫的粉絲喜歡玩漂流瓶只要暴走大事件有更新,就會(huì)把最新一期的暴走大事件寫在紙上,然后通過漂流瓶扔向大海。換句話說,雖然每一時(shí)刻,關(guān)于最新一期暴走大事件是什么你并不一定知道的是正確的答案,但你總是會(huì)最終知道正確答案。
1. Eventual Consistency 概述
分布式數(shù)據(jù)庫必須要有 分區(qū)容忍性(Partition Tolerant),所以主要是在 一致性(Consistent) 和 可用性(Available) 之間做選擇。
雖然在 CAP 理論中,選擇了 Availability 就不可能得到真正的 Consistency,但是你可以追求 最終一致性(Evental Consistency)
evental Consistency 背后的思路是:每個(gè)系統(tǒng)節(jié)點(diǎn)總是 Available 的,同時(shí)任何的寫(修改數(shù)據(jù))操作都會(huì)在后臺(tái)同步給系統(tǒng)的其他節(jié)點(diǎn)。
這意味著,在任意時(shí)刻,整個(gè)系統(tǒng)是Inconsistent(不一致的),然而從概率上講,大多數(shù)的請(qǐng)求得到的值是準(zhǔn)確的。
互聯(lián)網(wǎng)的 DNS(域名服務(wù)) 就是最終一致性的一個(gè)非常好的例子。你注冊(cè)了一個(gè)域名,
這個(gè)新域名需要幾天的時(shí)間才能通知給所有的 DNS 服務(wù)器。但是不管什么時(shí)候,你能夠連接到的任意 DNS 服務(wù)器對(duì)你來說都是 "Available" 的。
讓我們接著之前的小故事.
假設(shè)你不是深山里,是被抓到一個(gè)孤島上造方舟。
2015年7月3日——距離你被抓來造方舟已經(jīng)將近3個(gè)月,你在孤島的海邊撿到了一個(gè)漂流瓶,里面寫著:
最新一期暴走大事件是第四季第2期
所以你知道:最新一期暴走大事件至少是第四季第2期。
假設(shè)暴漫的粉絲喜歡玩漂流瓶——只要暴走大事件有更新,就會(huì)把最新一期的暴走大事件寫在紙上,然后通過漂流瓶扔向大海。
這樣,像你這樣的被 Partition 的人,總是能時(shí)不時(shí)地收到記錄著最新一期暴走大事件是什么的漂流瓶。
換句話說,雖然每一時(shí)刻,關(guān)于“最新一期暴走大事件是什么”你并不一定知道的是正確的答案,但你總是會(huì) eventually(最終) 知道正確答案。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17460.html
閱讀 2613·2023-04-25 22:09
閱讀 2845·2021-10-14 09:47
閱讀 1942·2021-10-11 11:10
閱讀 2694·2021-10-09 09:44
閱讀 3390·2021-09-22 14:57
閱讀 2504·2019-08-30 15:56
閱讀 1623·2019-08-30 15:55
閱讀 783·2019-08-30 14:13