CAP theorem CAP 原理

本文是參考了維基百科。https://en.wikipedia.org/wiki/CAP_theorem數據庫

consistency(一致性) availability(可用性) partition tolerance(分區容錯性)
每次請求都能獲取到最新數據或返回錯誤 在不保證讀取的數據都是最新的狀況下,保證每個請求都能得到一個非錯誤的響應 系統節點之間由於網絡問題致使任意數量的信息丟失或延遲,系統仍然可操做

換句話說,CAP原理表達的是在出現了網絡分區(網絡不通,延遲)的分佈式系統,必需要在consistency與availability之間選擇一個。網絡

須要注意的是CAP原理中的consistency(一致性)與數據庫事務中ACID中的consistency(一致性)不是一回事,它們相差很大。分佈式

 

解釋:spa

沒有分佈式系統能避免網絡出現問題,所以網絡分區是必需要容忍的。當系統出現網絡分區的,那麼須要在consistency和availability中選則一個。當consistency需求大於availability時,因爲網絡分區致使部分信息不能保證是最新的,系統將返回一個錯誤或網絡超時;當availability的需求大於consistency的需求時,儘管不能獲取最新的數據,系統將返回最近版本的信息。翻譯

在網絡正常的狀況下——也就是分佈式系統能正常的運行的狀況下——availability 和 consistency 都要獲得知足。事務

CAP 常常被誤解爲在任什麼時候候都必需要拋棄其中的一個,事實上,只有出現了網絡分區的狀況下才須要在consistency和availability之間選擇。在其餘時間沒有所謂的選擇、平衡,必須保證同時保證CA。ip

網絡分區:網絡出現問題,致使延遲或信息丟失。ci

(翻譯很差,請砸磚頭)rem

相關文章
相關標籤/搜索