springCloud----Eureka ACP

1.ACP簡介

A:可用性(availability),任何一個沒有發生故障的節點,都會在合理的時間內返回一個正常的結果。
C:一致性(Consistency),每次讀操作都能保證返回最新數據。
P:分區容忍性(Patition-tolerate) ,當節點間出現網絡分區時,照樣可以提供服務。
在分佈式系統中,ACP只能三選二,沒有任何分佈式架構三種都能滿足。

2.eureka保證ap

eureka是所有服務平等,只要有一個服務存活就能保證整個網絡使用。
當向註冊中心查詢服務列表時,我們可以容忍註冊中心返回的是幾分鐘之前的註冊信息,但不能接受服務直接down掉不可用。也就是說,服務註冊功能對可用性的要求要高於一致性。

3.zookeeper保證cp

zk服務宕機會有一段時間選舉master導致整個系統無法使用。
zookeeper中,當master節點因爲網絡故障出現問題時,剩餘節點會重新進行leader選舉。問題在於選擇leader的時間過長,大約是30s~120s,且選舉期間整個zk集羣都是不可用的,這樣就導致在選舉期間註冊服務癱瘓。所以,zookeeper保證的是一致性。

4.總結

Eureka是zookeeper之後出現的,它看到了zookeeper的這個缺點,所以在設計的時候就優先保證可用性。Eureka的各個節點都是平等的,幾個節點掛掉不會影響正常節點的工作,剩餘的節點依然可以提供註冊與查詢服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章