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