【每天推薦一篇文章】CAP 定理與 Remembrance Inc.
今天要推薦的是這篇 CAP 的小故事:
A plain english introduction to CAP Theorem - Kaushik Sathupadi
為了怕有朋友跟我一樣對 CAP 不太熟,這邊先筆記一下。
首先讓我們認識 CAP 各自代表的意思:
- 一致性(Consistency):使用者總是可以查到最新的資料
- 可用性(Availability):使用者總是可以正常讀寫,不會突然送你個 Error
- 分區容錯性(Partition tolerance):即使系統之間斷訊了,大家各自還是得做事,做完還要能同步
CAP 定理是指在一致性、可用性、分區容錯性這三項之中,我們只能滿足其中兩項 :(
通常來說,我們會先拿著 P 確保服務活著,然後在 C 一致性跟 A 可用性之間痛苦地抉擇
例如保證可以操作,但是還沒同步完所以會查到舊資料(AP);或是被卡著乖乖等到資料同步完才能查(CP)等等
這部分想進一步了解的朋友可以參考最後的延伸閱讀。現在讓我們回到今天推薦的這篇文章
這篇小故事從「幫客人記得事情」的一人公司(?)開始,
隨著客戶數量變多,老闆決定請老婆進來一起幫忙記東西(殊不知這就是分散式惡夢的開端)
他們經歷了第一次查詢失敗危機、想出一些同步機制,然後面對可怕的休假等等
最後…… 結局就留給各位自己看了。
總之,以後有人問起 CAP 的問題,我決定就甩這篇給他們了 xD
延伸閱讀,想多認識 CAP 一點的可以繼續看看下面這些文章:
那麼,今天的轉貼就到這邊。我們明天見~
其他文章
哈囉,如果你也有 LikeCoin,也覺得我的文章有幫上忙的話,還請不吝給我拍拍手呦,謝謝~ ;)