zookeeper和dubbo的關係

2021-08-02 22:37:10 字數 992 閱讀 4314

在讀一下文字之前:

可以先看一下這篇文章:  

dubbo建議使用zookeeper作為服務的註冊中心。

1.   zookeeper的作用:

zookeeper用來註冊服務和進行負載均衡,哪乙個服務由哪乙個機器來提供必需讓呼叫者知道,簡單來說就是ip位址和服務名稱的對應關係。當然也可以通過硬編碼的方式把這種對應關係在呼叫方業務**中實現,但是如果提供服務的機器掛掉呼叫者無法知曉,如果不更改**會繼續請求掛掉的機器提供服務。zookeeper通過心跳機制可以檢測掛掉的機器並將掛掉機器的ip和服務對應關係從列表中刪除。至於支援高併發,簡單來說就是橫向擴充套件,在不更改**的情況通過新增機器來提高運算能力。通過新增新的機器向zookeeper註冊服務,服務的提供者多了能服務的客戶就多了。

2.  dubbo:

是管理中間層的工具,在業務層到資料倉儲間有非常多服務的接入和服務提供者需要排程,dubbo提供乙個框架解決這個問題。

注意這裡的dubbo只是乙個框架,至於你架子上放什麼是完全取決於你的,就像乙個汽車骨架,你需要配你的輪子引擎。這個框架中要完成排程必須要有乙個分布式的註冊中心,儲存所有服務的元資料,你可以用zk,也可以用別的,只是大家都用zk。

3. zookeeper和dubbo的關係:

dubbo的將註冊中心進行抽象,是得它可以外接不同的儲存媒介給註冊中心提供服務,有zookeeper,memcached,redis等。

引入了zookeeper作為儲存媒介,也就把zookeeper的特性引進來。首先是負載均衡,單註冊中心的承載能力是有限的,在流量達到一定程度的時候就需要分流,負載均衡就是為了分流而存在的,乙個zookeeper群配合相應的web應用就可以很容易達到負載均衡;資源同步,單單有負載均衡還不夠,節點之間的資料和資源需要同步,zookeeper集群就天然具備有這樣的功能;命名服務,將樹狀結構用於維護全域性的服務位址列表,服務提供者在啟動的時候,向zk上的指定節點/dubbo/$/providers目錄下寫入自己的url位址,這個操作就完成了服務的發布。其他特性還有mast選舉,分布式鎖等。

zookeeper 和 dubbo的使用

專案最近做成了分布式的 用zookeeper 註冊管理服務,使用dubbo做分布式開發。1 使用zookeeper和dubbo需要引入的包 com.github.sgroschupf zkclient 0.1org.apache.zookeeper zookeeper 3.4.6 com.aliba...

Dubbo和zookeeper簡單理解

dubbo由alibaba製造 後交給阿帕奇維護的 基於rpc 遠端過程呼叫 高效能的 分布式框架 埠號 20880 dubbo提供的協議 dubbo協議 官方推薦使用dubbo採用dubbo協議 rmi 遠端方法呼叫 hessian協議 工作原理 提供有中文文件 是一種類似於面向介面進行程式設計 ...

關於Zookeeper和dubbo的負載均衡問題

zookeeper是服務註冊中心 dubbo是服務提供和消費中心 當有消費者向dubbo需要乙個服務的時候,dubbo在zookeeper裡尋找是否有註冊過這樣的乙個服務,即是否有人提供過這個服務,如果有就提供,沒有就報錯。關於他們的負載均衡 在配置檔案中 第乙個註冊中心 第二個註冊中心 在兩個中心...