dubbo知識點之管理工具dubbo-admin分享


前言

dubbo的應用體系中,一直都有一款圖形化的rpc管理工具,通過這款管理工具,我們可以對我們的rpc服務進行各種管理操作,包括負載均衡、權重調整、服務監測等,今天我們就先來簡單看下這一款管理工具。

管理工具

dubbo的管理服務,現在也是一個獨立的應用,我們可以將它獨立部署。項目地址如下:

https://github.com/apache/dubbo-admin

根據官方介紹,目前的管理控制台已經發布0.1版本,結構上采取了前后端分離的方式,前端使用 Vue Vuetify 分別作為 Javascript 框架和UI框架,后端采用 Spring Boot 框架。既可以按照標准的 Maven 方式進行打包,部署,也可以采用前后端分離的部署方式,方便開發,功能上,目前具備了服務查詢,服務治理(包括 Dubbo 2.7 中新增的治理規則)以及服務測試三部分內容。

下面,我們看下如何在本地安裝部署dubbo的管理控制台。

下載

首先,我們要下載dubbo-admin的源碼包或者部署包,如果下載源碼包的話,需要你自己打包,由於又是前后端分離的項目,所以這里我就偷個懶,直接下載部署包:

修改配置

下載完成后,直接解壓,然后進入bin\config文件夾,這里有dubbo-admin的配置文件。因為后端是spring boot項目,所以這里的application.properties文件就是我們spring boot的配置文件,默認情況下,整個配置文件只有一些簡單配置項:

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

# nacos config, add parameters to url like username=nacos&password=nacos
#admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
#admin.config-center=nacos://127.0.0.1:8848?group=dubbo
#admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo

#group (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
#admin.registry.group=dubbo
#admin.config-center.group=dubbo
#admin.metadata-report.group=dubbo

#namespace used by nacos. (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
#admin.registry.namespace=public
#admin.config-center.namespace=public
#admin.metadata-report.namespace=public

admin.root.user.name=root
admin.root.user.password=root

#session timeout, default is one hour
admin.check.sessionTimeoutMilli=3600000


# apollo config
# admin.config-center = apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo

# (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
#admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9
#admin.apollo.appId=test
#admin.apollo.env=dev
#admin.apollo.cluster=default
#admin.apollo.namespace=dubbo

#compress
server.compression.enabled=true
server.compression.mime-types=text/css,text/javascript,application/javascript
server.compression.min-response-size=10240

因為沒有項目的端口配置,所以默認情況下,dubbo-admin的訪問端口是8080,當然你也可以自行修改;

配置文件中,首先是注冊中心、配置中心、元數據中心的配置,今天我們演示的注冊中心是zk,所以這里就不修改了;

緊接着是管理平台的登錄用戶名和密碼,默認都是root,你也可以根據自己的需要修改;

最后面是壓縮的相關配置,這里應該是請求響應內容的壓縮配置,主要是針對css/js以及頁面等內容。

啟動

完成以上內容配置,我們就可以啟動測序下了。首先,我們要先啟動zk,然后啟動我們的管理平台,直接訪問我們dubbo-admin的服務地址即可,我配置的端口是8001,所以我訪問的地址是http://localhost:8001,然后會自動跳轉到登錄頁面:

輸入我們配置的用戶名和密碼,即可登錄成功:

這個頁面和我們之前分享的k8s的官方管理控制台很像。左側是菜單欄,右側是操作區域。

測試演示

控制台啟動成功后,我們啟動本地的dubbo項目,進行一些簡單操作。

在服務查詢菜單下,我們可以看到我們剛剛啟動好的服務,我們可以對這些服務進行測試、查看 詳情以及其他操作。

這里我們就只演示下測試,因為路由、黑白名單、負載均衡、權重這些,我們目前還沒深入了解過。

服務測試

輸入請求參數,點擊執行,即可顯示調用結果,這對我們平時覺得rpc不好測試的小伙伴簡直就是福音,我們再也不用為rpc的測試而發愁了:

接口文檔

接口文檔這塊需要引入dubbo-api-docs-annotationsdubbo-api-docs-core的相關引用,同時要在我們的接口上添加相應的注解,今天由於時間的關系,我們暫時就不演示了,后面我們會專門分享。

服務mock

寫過單元測試的小伙伴應該對mock不陌生,這里應該也是一樣的,主要是對服務的一些模擬調用,但是現在好像還不支持。

服務統計

服務統計這里包括兩塊功能,一個是服務統計,可以展示服務的提供者、消費者、線程等信息

擴展

當然,除了dubbo-admin這樣的官方管理平台之外,dubbo還可以集成skywalking這樣的第三方運維監控平台。skywalking的用法我們直接已經分享過了,和dubbo集成應該也很容易,后面有機會的話,我們可以捎帶分享下,關於skywalking的內容,可以點擊下面的鏈接回顧:

總結

dubbo-admin作為dubbo應用的控制管理平台,有着其強大的功能,特別是對rpc服務的監測、監控、以及相關配置的管理,更是一枝獨秀。當然,我們今天分享的內容很簡單,但是通過今天的內容,我也意識到對於dubbo應用的探索和學習,我覺得自己才剛剛起步,對於負載均衡、路由等相關知識,確實存在很多認知缺陷,但找到前進的方向有何嘗不是一件值得慶幸的事呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM