dubbo, zookeeper,eureka之間的關係與區別是什麼?

時間 2021-05-05 17:29:19

1樓:欣然

Zookeeper保證CP

當向註冊中心查詢服務列表時,我們可以容忍註冊中心返回的是幾分鐘以前的註冊資訊,但不能接受服務直接down掉不可用。也就是說,服務註冊功能對可用性的要求要高於一致性。但是zk會出現這樣一種情況,當master節點因為網路故障與其他節點失去聯絡時,剩餘節點會重新進行leader選舉。

問題在於,選舉leader的時間太長,30 ~ 120s, 且選舉期間整個zk集群都是不可用的,這就導致在選舉期間註冊服務癱瘓。在雲部署的環境下,因網路問題使得zk集群失去master節點是較大概率會發生的事,雖然服務能夠最終恢復,但是漫長的選舉時間導致的註冊長期不可用是不能容忍的。

Eureka保證APEureka看明白了這一點,因此在設計時就優先保證可用性。Eureka各個節點都是平等的,幾個節點掛掉不會影響正常節點的工作,剩餘的節點依然可以提供註冊和查詢服務。而Eureka的客戶端在向某個Eureka註冊或如果發現連線失敗,則會自動切換至其它節點,只要有一台Eureka還在,就能保證註冊服務可用(保證可用性),只不過查到的資訊可能不是最新的(不保證強一致性)。

除此之外,Eureka還有一種自我保護機制,如果在15分鐘內超過85%的節點都沒有正常的心跳,那麼Eureka就認為客戶端與註冊中心出現了網路故障,此時會出現以下幾種情況:

1. Eureka不再從註冊列表中移除因為長時間沒收到心跳而應該過期的服務

2. Eureka仍然能夠接受新服務的註冊和查詢請求,但是不會被同步到其它節點上(即保證當前節點依然可用)

3. 當網路穩定時,當前例項新的註冊資訊會被同步到其它節點中

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

2樓:陳巨集基

Dubbo是個微服務整體架構的框架,提供的功能包括服務註冊發現,遠端呼叫,監控等等。對標的專案大概是spring cloud。Dubbo的服務發現模組基於zookeeper實現。

Eureka。是spring cloud之下乙個專門負責微服務服務註冊和發現的元件,Eureka就是為了服務發現而設計的。是Dubbo對應的概念的乙個部分。

Zookeeper。是用來保證分布式一致性的乙個軟體。不是為了服務發現註冊而設計的,只不過它的特性也可以被二次開發成服務發現註冊中心罷了。

這是在概念上的區別,具體的區別太多了。

3樓:boo hoo

zookeeper是dubbo的服務註冊中心eureka是spring cloud的服務註冊中心都能根據服務名獲取服務資源,都可以實現負載均衡。

spring cloud也可以整合zookeeper

4樓:geccocrawler

dubbo和spring cloud都是微服務框架。

dubbo一般使用zookeeper作為服務發現,spring cloud一般用eureka作為服務發現。

服務發現:就是不用知道服務的ip埠,通過服務名就能使用服務。

5樓:許雪裡

dubbo: 服務通訊中介軟體

zk: 註冊中心,通常與dubbo整合

sc: 微服務方案,包含服務通訊元件

euraka: 註冊中心,通常與sc整合

勞務關係與勞動關係的區別是什麼?

法貓 法貓來了!當勞務關係的兩方主體一方是公司,另一方是自然人時,它的情形與勞動關係很相近,從現象上看都是自然人提供勞動力,公司支付勞動報酬,因此勞務關係和勞動關係極易混淆。在勞動關係調整工作中,時常遇到勞動關係與勞務關係並存的情況,弄清兩者的區別,對於做好勞動人事工作,正確適用法律 妥善處理各類糾...

法語中gr ce 與 cause de的區別是什麼?

濟才小語種學校 grce 和 cause de 兩者都可用來引導原因,其區別主要在於 grce 後引導乙個積極的原因,一般譯為 幸虧,多虧 cause de後引導乙個消極的原因,一般譯為 因為,由於 舉例如下 例1 Grce mes amis,ma vie est brillante comme u...

請問事件研究法與平行趨勢檢驗之間的區別是?

暮雪寒泉 平行趨勢檢驗是DID的必要過程,且一般有畫時間趨勢圖和時間研究法兩種方法,主要用於檢驗處理組和對照組是否存在顯著差異。1 時間趨勢圖 時間趨勢圖是一種比較直觀的方法,不夠嚴謹,其將控制組和對照組的因變數 y 的均值共同畫在一幅圖中,憑研究者直觀的感受判定是否存在顯著性差異。2 時間研究法 ...