1. 程式人生 > 其它 >Dubbo Admin 監控管理工具的部署和簡單使用介紹

Dubbo Admin 監控管理工具的部署和簡單使用介紹

我們在使用 Dubbo 框架開發專案時,中間很可能會遇到各種問題,此時如果有一款 Dubbo 監控管理工具,能夠方便的檢視到 Dubbo 服務的提供者和消費者,以及 Dubbo 的路由、配置、介面細節等資訊的話,就能夠很容易發現和解決問題,極大的提高了開發效率。

Dubbo-Admin 就是這樣一款基於 Zookeeper 進行監控管理 Dubbo 的實用工具,它是 Apache 下的一個前後端分離的專案,前端使用 Vue ,後端使用 SpringBoot,我們只需要將其安裝部署好即可。


一、環境準備

本篇部落格介紹在 windows 下部署 Dubbo-Admin ,畢竟大家平時開發程式碼,主要還是使用 Windows 環境。

在部署 Dubbo-Admin 之前,首先需要安裝 jdk、maven、node.js 。有關 jdk 和 maven 的安裝,這裡就不介紹了,畢竟對於 java 開發人員來說,這是必備技能。有關 node.js 的安裝,也非常太簡單了,只要從官網下載安裝包後,安裝過程中不斷點選下一步就可完成安裝。

node.js 的官網地址是:https://nodejs.org/en

Dubbo-Admin 的官網地址:https://github.com/apache/dubbo-admin

從 Dubbo-Admin 官網下載 Dubbo-Admin 的壓縮包,解壓後如下圖所示:

最重要的目錄就是 dubbo-admin-server 和 dubbo-admin-ui。

dubbo-admin-server 主要提供後端介面,dubbo-admin-ui 提供前端展示介面。

當我們開啟 dubbo-admin-server 的 pom 檔案時,發現有如下的配置:

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copy Vue.js frontend content</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>src/main/resources/public</outputDirectory>
                <overwrite>true</overwrite>
                <resources>
                    <resource>
                        <directory>${project.parent.basedir}/dubbo-admin-ui/target/dist</directory>
                        <includes>
                            <include>static/</include>
                            <include>index.html</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

這說明在整體打包過程中,dubbo-admin-ui 的頁面會拷貝到了 dubbo-admin-server 下,所以打包後,我們只需要啟動 dubbo-admin-server 即可。下面我們就趕緊打包啟動吧。


二、打包啟動 dubbo-admin 工具

進入 dubbo-admin-server 目錄下的 src\main\resources 目錄,編輯 application.properties 配置檔案,比較重要的有 3 個配置項:SpringBoot 啟動的埠、 Zookeeper 的連線地址和埠、dubbo-admin 工具的登入使用者名稱和密碼

# 增加該配置項,這裡配置 SpringBoot 啟動埠為 8181
server.port=8181

# 註冊中心 Zookeeper 的連線地址和埠,以及元資料獲取地址
admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata-report.address=zookeeper://127.0.0.1:2181

# dubbo-admin 工具登入的使用者名稱和密碼
admin.root.user.name=root
admin.root.user.password=root

然後重新回到解壓後的 dubbo-admin-develop 這個根目錄,按著 shift 鍵,開啟滑鼠右鍵,選擇 “在此處執行命令視窗”,開啟基於當前目錄路徑的 cmd 視窗,執行一下命令,進行清理和打包:

# 如果 mvn 命令不可用的話,說明你沒有將 maven 的可執行路徑新增到環境變數中
mvn clean package

根據自己的電腦配置不同,清理和打包所需要的時間不一樣,總體來說需要花費幾分鐘的時間,中間遇到錯誤的話,要淡定一些,不用管它,雖然命令列視窗好長時間不動,但是 CPU 還是在高速運轉著呢,所以靜靜的等待它打包完成即可。

最終完成後如下圖所示:

然後進入到 dubbo-admin-server 目錄下的 target 目錄下,會發現 dubbo-admin-server-0.1.jar 這個剛剛打包生成的 jar 包。

需要注意的是:在啟動 dubbo-admin-server 的 SpringBoot 的 jar 包之前,必須先把 Zookeeper 啟動起來,這個很重要,否則無法啟動 dubbo-admin-server,因為它需要連線 Zookeeper 獲取 Dubbo 的相關資訊。

在啟動了 Zookeeper 之後,我們進入到 dubbo-admin-server 的 target 目錄下,按著 shift 鍵,開啟滑鼠右鍵,選擇 “在此處執行命令視窗”,開啟基於當前目錄路徑的 cmd 視窗,執行一下命令啟動 dubbo-admin-server 服務:

# 如果 java 命令不可用的話,說明你沒有將 jdk 的可執行路徑新增到環境變數中
java -jar dubbo-admin-server-0.1.jar

當然如果你可以把 dubbo-admin-server-0.1.jar 從 target 目錄中拷貝到別的地方,然後再執行也是沒問題的。

說明:如果你想要將 SpringBoot 服務,在 Windows 上安裝成 Windows Service 服務的話,使用 nssm.exe 即可實現,具體實現細節很簡單,可以參考我寫的上一篇部落格中將 Zookeeper 服務安裝成 Windows Service 的方案,大同小異。

因為之前我們配置的 dubbo-admin-server 這個 SpringBoot 的埠是 8181,我是在本機啟動 SpringBoot 服務的,所以只需要訪問 http://localhost:8181 即可開啟 dubbo-admin 的介面,輸入我們配置的使用者名稱和密碼(都是 root)登入進去。


三、監控管理 Dubbo

這裡基於上一篇部落格所開發的 Dubbo 示例,演示 dubbo-admin 工具的簡單使用。

開啟上一篇部落格的 demo,使用 tomcat9 分別啟動 dubbo 服務端和客戶端,然後進入 dubbo-admin 介面中的服務查詢頁面中(如果已經進入了,就重新整理一下服務查詢頁面),能夠看到一個 dubbo 服務:


1 服務詳情頁面簡單介紹

點選“詳情”可以進入到服務的詳情頁面中,檢視服務的詳細資訊:

在“服務資訊”欄目下,可以看到 dubbo 服務的提供者和消費者(需要注意的是:只有 dubbo 消費者呼叫過一次 dubbo 服務提供者之後,在該介面中才能看到消費者)。

在“元資料”欄目下,可以看到 dubbo 服務的提供者所提供的介面細節(介面名稱、引數列表、返回值型別)。需要注意的是:只有在 dubbo 服務的提供者的配置檔案中,增加一個配置項,才能在該介面中看到元資料介面資訊。在之前的部落格的 demo 中,我們已經在 dubbo 服務的提供者中增加了該項配置,如下所示:

<!--元資料配置,方便在 DubboAdmin 介面中看到服務中的方法 -->
<dubbo:metadata-report address="zookeeper://localhost:2181" />

2 服務測試頁面簡單介紹

點選“測試”可以進入到服務介面的測試頁面:

能夠發現 dubbo 服務提供的 2 個介面,比如點選第一個介面後面的按鈕,進入測試頁面:

在方法的引數中,輸入引數值,比如“喬京飛”,點選“執行”按鈕,返回結果為“Hello 喬京飛”。



OK,到此為止,有關 Dubbo Admin 這款實用的 Dubbo 監控管理工具的部署和簡單實用,已經介紹完畢,希望對大家有用。