天天看點

Dubbo介紹、Zookeeper + Dubbo Admin的安裝與配置、服務注冊發現實戰

文章目錄

  • ​​1 Dubbo​​
  • ​​1.1 什麼是dubbo​​
  • ​​1.2 發展史​​
  • ​​1.3 Dubbo 架構​​
  • ​​1.4 引入Zookeeper​​
  • ​​2 Zookeeper 的安裝與配置​​
  • ​​3 Dubbo Admin 的安裝與配置​​
  • ​​4 Dubbo + Zookeeper + Dubbo Admin 服務注冊發現實戰​​

1 Dubbo

1.1 什麼是dubbo

Dubbo介紹、Zookeeper + Dubbo Admin的安裝與配置、服務注冊發現實戰

Dubbo |ˈdʌbəʊ| 是一款高性能、輕量級的開源Java RPC架構,它提供了三大核心能力:面向接口的遠端方法調用,智能容錯和負載均衡,以及服務自動注冊和發現。(官網:​​Dubbo官網​​)

1.2 發展史

​​此處參考​

Dubbo介紹、Zookeeper + Dubbo Admin的安裝與配置、服務注冊發現實戰

1.3 Dubbo 架構

Dubbo介紹、Zookeeper + Dubbo Admin的安裝與配置、服務注冊發現實戰

節點角色說明

  • 服務提供者(Provider)︰暴露服務的服務提供方,服務提供者在啟動時,向注冊中心注冊自己提供的服務。
  • 服務消費者(Consumer):調用遠端服務的服務消費方,服務消費者在啟動時,向注冊中心訂閱自己所需的服務,服務消費者,從提供者位址清單中,基于軟負載均衡算法,選一台提供者進行調用,如果調用失敗,再選另一台調用。
  • 注冊中心(Registry):注冊中心傳回服務提供者位址清單給消費者,如果有變更,注冊中心将基于長連接配接推送變更資料給消費者。
  • 監控中心(Monitor):服務消費者和提供者,在記憶體中累計調用次數和調用時間,定時每分鐘發送一次統計資料到監控中心。

調用關系說明

  • 服務容器負責啟動,加載,運作服務提供者。
  • 服務提供者在啟動時,向注冊中心注冊自己提供的服務。服務消費者在啟動時,向注冊中心訂閱自己所需的服務。
  • 注冊中心傳回服務提供者位址清單給消費者,如果有變更,注冊中心将基于長連接配接推送變更資料給消費者。
  • 服務消費者,從提供者位址清單中,基于軟負載均衡算法,選一台提供者進行調用,如果調用失敗,再選另一台調用。
  • 服務消費者和提供者,在記憶體中累計調用次數和調用時間,定時每分鐘發送一次統計資料到監控中心。

1.4 引入Zookeeper

關于 1.3 中的注冊中心,Dubbo官方推薦使用 Zookeeper 注冊中心

2 Zookeeper 的安裝與配置

ZooKeeper是一個分布式的,開放源碼的分布式應用程式協調服務,是Google的Chubby一個開源的實作,是Hadoop和Hbase的重要元件。它是一個為分布式應用提供一緻性服務的軟體,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。

Dubbo 中的注冊中心,官方推薦使用 Zookeeper

安裝配置可參考文章:​​【踩坑三次】新版Zookeeper安裝與配置:閃退、錯誤: 找不到或無法加載主類QuorumPeerMain、ZooKeeper audit is disabled​​

3 Dubbo Admin 的安裝與配置

Dubbo Admin 是一個注冊中心(比如Zookeeper)的可視化管理工具,可以檢視我們注冊了哪些服務,哪些服務被消費了等等

4 Dubbo + Zookeeper + Dubbo Admin 服務注冊發現實戰