回覆列表
-
1 # Garnett
-
2 # i網路心連心
首先先回答第一個問題:什麼是BASE。
BASE,它的全稱是:Basically Available(基本可用),Soft state(軟狀態),和 Eventually consistent(最終一致性)三個短語的縮寫,來自 ebay 的架構師提出。
BASE是透過讓系統放鬆對某一時刻資料一致性的要求來換取系統整體伸縮性和效能上的改觀。
為什麼這麼說呢?緣由就在於大型系統往往由於地域分佈和極高效能的要求,不可能採用分散式事務來完成這些指標,要想獲得這些指標,我們必須採用另外一種方式來完成,這裡BASE就是解決這個問題的。
那BASE和CAP有什麼區別呢?
既是無法做到強一致(Strongconsistency),但每個應用都可以根據自身的業務特點,採用適當的方式來使系統達到最終一致(Eventual consistency)。
總的來說,BASE 理論面向的是大型高可用可擴充套件的分散式系統,和傳統事務的 CPA是相反的,它完全不同於 CPA 的強一致性模型,而是透過犧牲強一致性來獲得可用性,並允許資料在一段時間是不一致的。
BASE和CAP均是分散式事務解決方案的理論知識:
傳統的單體架構下,我們可以很輕鬆地實現關係型資料庫的事務控制,但在分散式架構下,一個請求呼叫鏈可能會經過多個服務,操作多個數據庫。
1、CAP理論指的是分散式系統的三個特性,一致性(Consistency)、可用性(Availability)、分割槽容錯性(Partition tolerance)
分散式系統中,服務被分散到各個伺服器上,服務之間的呼叫都是透過網路通訊完成,所以網路通訊問題是我們必須面對的問題。換句話說,分割槽容錯性是一個分散式系統必然需要面對和解決的問題。因此我們只能在AP和CP上進行選擇。
2、BASE理論是Basically Available(基本可用)、Soft state(軟狀態)和Eventually consistent(最終一致性)三個短語的縮寫,
BASE理論是對CAP中的一致性(C)和可用性(A)進行一個權衡的結果,理論的核心思想就是:我們無法做到強一致,但每個應用都可以根據自身的業務特點,採用適當的方式來使系統達到最終一致性。