今天要推薦的是這篇 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 一點的可以繼續看看下面這些文章:

那麼,今天的轉貼就到這邊。我們明天見~