天天看點

dubbo實戰之四:管理控制台dubbo-admin

https://github.com/zq2599/blog_demos

内容:所有原創文章分類彙總及配套源碼,涉及Java、Docker、Kubernetes、DevOPS等;

準備和初體驗

與SpringBoot內建

使用Zookeeper注冊中心

管理控制台dubbo-admin

本文是《dubbo實戰》系列的第四篇,内容是部署和啟動dubbo管理控制台服務,該服務在開發、測試、生産等環節都非常重要,接下來一起通過實戰學習和了解它,官方GitHub位址:https://github.com/apache/dubbo-admin

整篇文章由以下内容構成:

準備工作(注冊中心、服務提供者、服務消費者);

準備工作(配置資訊);

體驗docker版;

下載下傳源碼自行建構;

所謂準備工作,就是準備一個相對完整的dubbo環境,裡面有注冊中心、服務提供者、服務消費者;

在上一篇《dubbo實戰之三:使用Zookeeper注冊中心》,咱們已經建立和驗證了服務提供者和消費者,并且以zookeeper作為注冊中心,現在請把這些服務全部啟動起來,我這邊的服務情況如下所示:

服務

IP

端口

項目名稱

作用

zookeeper

192.168.50.43

2181

注冊中心、配置中心

springboot-zk-provider

192.168.50.12

8080

springbootzkprovider

服務提供者

springboot-zk-consumer

8081

springbootzkconsumer

服務消費者

確定zookeeper、服務提供者、服務消費者全部啟動且功能正常;

接下來要準備配置資訊,首選要強調的是dubbo-admin有三個重要的配置項:admin.config-center(配置中心),admin.registry.address(注冊中心)、admin.metadata-report.address(中繼資料中心);

如果在配置檔案中隻有admin.registry.address(舊版本的做法),此時dubbo-admin會将admin.registry.address的值作為注冊中心和配置中心使用,中繼資料中心将無法使用,是以官方不推薦這樣的配置;

官方推薦的做法:在配置檔案中隻有admin.config-center,此配置的值是zookeeper位址,在zookeeper服務中有個節點,路徑是/dubbo/config/dubbo/dubbo.properties,内容是admin.registry.address和admin.metadata-report.address的配置,如下所示:

簡單地說,就是隻有配置中心的位址放在本地配置檔案中,等到dubbo-admin連接配接到配置中心後,從配置中心取得其他配置資訊,畫了個簡圖輔助了解,如下:

dubbo實戰之四:管理控制台dubbo-admin

5. 基于上述分析,咱們要先在zookeeper中建立好節點/dubbo/config/dubbo/dubbo.properties,以便dubbo-admin使用,請登入zookeeper所在伺服器,進入zookeeper的bin目錄;

6. 由于前面的文章已經使用過zookeeper作為注冊中心,是以"/dubbo/config/"目錄已經存在,下面的指令會建立/dubbo/config/dubbo節點:

再建立/dubbo/config/dubbo/dubbo.properties節點:

最後,檢視是否建立成功,輸入和響應如下所示,可見節點建立成功,值也是預期的:

至此,準備工作全部完成,可以部署和嘗試dubbo-admin了,先從官方推薦的快速體驗方式開始,即docker版;

請確定docker已部署并正常運作;

官方Github建議通過docker鏡像快速體驗管理控制台,如下圖,咱們就按照官方的建議先用docker鏡像試試:

dubbo實戰之四:管理控制台dubbo-admin

3. 下載下傳鏡像(此步驟可以不執行,我這是想看看下載下傳鏡像要多久):

執行以下指令啟動docker容器:

用上述指令啟動的容器是一次性的,如果用Ctrl+C中斷控制台,容器就會自動銷毀,另外容器的8080端口被映射到了主控端的8083端口;

用浏覽器通路主控端的8083端口,如下圖所示,dubbo-admin已經啟動了:

dubbo實戰之四:管理控制台dubbo-admin

點選下圖紅框1中的服務查詢菜單,即可看到整個分布式環境中所有已經暴露的服務(即紅框2),此時點選右側的DETAIL按鈕,就能看到此服務的詳情:

dubbo實戰之四:管理控制台dubbo-admin

8. 服務詳情如下圖,基礎資訊、提供者、消費者都有,但遺憾的是中繼資料無法正常展示:

dubbo實戰之四:管理控制台dubbo-admin

9. 以上就是官方提供的體驗版,算是讓咱們對管理控制台有了基本了解,但這僅是用于體驗的鏡像,實際生産環境中,首先未必會用docker,并且可能需要有對應的源碼以便學習和分析問題,甚至有可能用源碼做進一步定制,是以這個docker版本就不适合了,接下來一起下載下傳dubbo-admin源碼自行編譯建構;

10. 在啟動docker容器的控制台執行Ctrl+C,剛才建立的容器就會自動銷毀;

下載下傳官方源碼:

修改配置檔案dubbo-admin/dubbo-admin-server/src/main/resources/application.properties ,如下所示,隻配置admin.registry.address的值,将admin.registry.address和admin.metadata-report.address注釋掉,如果要修改端口,也在此添加server.port的配置,我這裡配置的是8083端口:

在dubbo-admin目錄執行以下指令,開始編譯:

不出意外的話會編譯成功,如下:

啟動服務:

啟動成功後,在浏覽器通路登入頁面:http://localhost:8083/#/login ,(一定要先登入),如下圖,賬号密碼都是root,這是application.properties檔案中配置的:

dubbo實戰之四:管理控制台dubbo-admin

7. 登入後可見首頁,如下圖,和之前的docker體驗版還是有些不同的:

dubbo實戰之四:管理控制台dubbo-admin

8. 點選上圖的測試按鈕,可以在頁面上測試該服務的方法:

dubbo實戰之四:管理控制台dubbo-admin

9. 再次進入服務詳情頁,可見中繼資料也能正常顯示了:

dubbo實戰之四:管理控制台dubbo-admin

至此,管理控制台dubbo-admin的編譯、部署、基本操作都實戰完成了,網頁上更多功能您可以自行嘗試,(建議部署更多的服務和執行個體),回顧整個過程其實都很簡單,唯一要注意的就是服務的配置那裡,本地隻有配置中心的位址,其他資訊都放在配置中心;

繼續閱讀