亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

eureka與zookeeper的原理是什么

發布時間:2021-06-26 14:17:19 來源:億速云 閱讀:118 作者:chen 欄目:大數據

這篇文章主要介紹“eureka與zookeeper的原理是什么”,在日常操作中,相信很多人在eureka與zookeeper的原理是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”eureka與zookeeper的原理是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

 CAP 理論

什么叫 CAP 理論呢?CAP 理論是由 Eric Brewer 教授提出,是分布式系統中的一個重要的概念。具體如下:

C(Consistency):數據一致性。大家都知道,分布式系統中,數據會有副本。由于網絡或者機器故障等因素,可能有些副本數據寫入正確,有些卻寫入錯誤或者失敗,這樣就導致了數據的不一致了。而滿足數據一致性規則,就是保證所有數據都要同步。

A(Availability):可用性。我們需要獲取什么數據時,都能夠正常的獲取到想要的數據(當然,允許可接受范圍內的網絡延遲),也就是說,要保證任何時候請求數據都能夠正常響應。

P(Partition Tolerance):分區容錯性。當網絡通信發生故障時,集群仍然可用,不會因為某個節點掛了或者存在問題,而影響整個系統的正常運作。

對于分布式系統來說,出現網絡分區是不可避免的,因此分區容錯性是必須要具備的,也就是說,CAP三者,P是必須的,是個客觀存在的事實,不可避免,也無法繞過。

1. Zookeeper 的 CP 原則

對于 zookeeper 來說,它是 CP 的。也就是說,zookeeper 是保證數據的一致性的,但是這里還需要注意一點是,zookeeper 它不是強一致的,什么意思呢?

打個比方,現在客戶端 A 提交一個寫操作,zookeeper 在過半數節點操作成功之后就可以返回,但此時,客戶端 B 的讀操作請求的是 A 寫曹操尚未同步到的節點,那么讀取的就不是 A 最新提交的數據了。

那如何保證強一致性呢?我們可以在讀取數據的時候先執行一下 sync 操作,即與 leader 節點先同步一下數據,再去取,這樣才能保證數據的強一致性。

但是 zookeeper 也有個缺陷,剛剛提到了 leader 節點,當 master 節點因為網絡故障與其他節點失去聯系時,剩余節點會重新進行 leader 選舉。問題在于,選舉 leader 的時間太長,30 ~ 120s, 且選舉期間整個 zookeeper 集群都是不可用的,這就導致在選舉期間注冊服務癱瘓。

在云部署的環境下,因網絡問題使得 zookeeper 集群失去 master 節點是較大概率會發生的事,雖然服務能夠最終恢復,但是漫長的選舉時間導致的注冊長期不可用是不能容忍的。比如雙十一當天,那就是災難性的。

2. Eureka 的 AP 原則

大規模網絡部署時,失敗是在所難免的,因此我們無法回避這個問題。當向注冊中心查詢服務列表時,我們可以容忍注冊中心返回的是幾分鐘以前的注冊信息,但不能接受服務直接 down 掉不可用。

Eureka 在被設計的時候,就考慮到了這一點,因此在設計時優先保證可用性,這就是 AP 原則。Eureka 各個節點都是平等的,幾個節點掛掉不會影響正常節點的工作,剩余的節點依然可以提供注冊和查詢服務。

而 Eureka 的客戶端在向某個 Eureka 注冊或時如果發現連接失敗,則會自動切換至其它節點,只要有一臺 Eureka 還在,就能保證注冊服務可用(即保證A原則),只不過查到的信息可能不是最新的(不保證C原則)。

正因為應用實例的注冊信息在集群的所有節點間并不是強一致的,所以需要客戶端能夠支持負載均衡以及失敗重試。在 Netflix 的生態中,ribbon 可以提供這個功能。

因此, Eureka 可以很好的應對因網絡故障導致部分節點失去聯系的情況,而不會像 zookeeper 那樣使整個注冊服務癱瘓。

3. 結果

作為服務注冊中心,最重要的是要保證可用性,可以接收段時間內數據不一致的情況。個人覺得 Eureka 作為單純的服務注冊中心來說要比 zookeeper 更加適合一點。

到此,關于“eureka與zookeeper的原理是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麻栗坡县| 南江县| 龙岩市| 正蓝旗| 辉县市| 定边县| 忻城县| 滨海县| 罗甸县| 即墨市| 梁河县| 石景山区| 丰宁| 蒙自县| 荆门市| 盐城市| 新野县| 临安市| 高碑店市| 敦煌市| 故城县| 大安市| 长武县| 乌鲁木齐县| 玉山县| 富川| 温宿县| 阳山县| 孝昌县| 余江县| 翼城县| 昭平县| 常州市| 宁国市| 张掖市| 安国市| 泗阳县| 临武县| 岳阳市| 阳东县| 武宣县|