Eureka、Zookeeper、Consul 三個注冊中心的異同點(CAP理論)

CAP理論簡介:

CAP理論作為分布式系統(tǒng)的基礎(chǔ)理論,它描述的是一個分布式系統(tǒng)在以下三個特性中:

  • 一致性(Consistency)
  • 可用性(Availability)
  • 分區(qū)容錯性(Partition tolerance)

一致性(Consistency):

在分布式系統(tǒng)完成某寫操作后任何讀操作,都應(yīng)該獲取到該寫操作寫入的那個最新的值。相當(dāng)于要求分布式系統(tǒng)中的各節(jié)點時時刻刻保持數(shù)據(jù)的一致性。

可用性(Availability):

一直可以正常的做讀寫操作。簡單而言就是客戶端一直可以正常訪問并得到系統(tǒng)的正常響應(yīng)。用戶角度來看就是不會出現(xiàn)系統(tǒng)操作失敗或者訪問超時等問題。

分區(qū)容錯性(Partition tolerance):

指的分布式系統(tǒng)中的某個節(jié)點或者網(wǎng)絡(luò)分區(qū)出現(xiàn)了故障的時候,整個系統(tǒng)仍然能對外提供滿足一致性和可用性的服務(wù)。也就是說部分故障不影響整體使用。

事實上我們在設(shè)計分布式系統(tǒng)是都會考慮到bug,硬件,網(wǎng)絡(luò)等各種原因造成的故障,所以即使部分節(jié)點或者網(wǎng)絡(luò)出現(xiàn)故障,我們要求整個系統(tǒng)還是要繼續(xù)使用的

(不繼續(xù)使用,相當(dāng)于只有一個分區(qū),那么也就沒有后續(xù)的一致性和可用性了)

最多同時較好地滿足兩個條件(原因請參考:https://www.cnblogs.com/zhuyeshen/p/11720655.html)。

C:Consistency (強一致性)
A:Available (可用性)
P:Partition tolerance (分區(qū)容錯性)

CAP理論的核心是:一個分布式系統(tǒng)不可能同時很好的滿足一致性、可用性和分區(qū)容錯性這三個需求,因此,根據(jù)CAP原理將NoSQL數(shù)據(jù)庫分成了滿足CA、CP、AP 原則 三大類:

CA :單點集群,滿足一致性,可用性的系統(tǒng),通常在可擴展性上不太強大。

CP: 滿足一致性,分區(qū)容錯的系統(tǒng),通常性能不是特別高。

AP: 滿足可用性,分區(qū)容錯性的系統(tǒng),通??赡軐σ恢滦砸蟮鸵恍?。

image

針對于 Eureka、Zookeeper、Consul 三個注冊中心,

Eureka有自我保護機制,更強調(diào)的是AP,保證服務(wù)的高可用,微服務(wù)就是偶爾宕機掉線了,一時半會不會立刻刪除。

Zookeeper 和 Consul 則采用的是CP原則,他們注冊的微服務(wù)是一個臨時節(jié)點,只要微服務(wù)不可用,發(fā)心跳測試收不到了,就迅速剔除微服務(wù),微服務(wù)恢復(fù)過來以后,會重新?lián)Q一個serviceID。

image

轉(zhuǎn)自:https://www.cnblogs.com/y3blogs/p/13499556.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容