1. 程式人生 > 其它 >dubbo知識點之管理工具dubbo-admin分享

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應用的探索和學習,我覺得自己才剛剛起步,對於負載均衡、路由等相關知識,確實存在很多認知缺陷,但找到前進的方向有何嘗不是一件值得慶幸的事呢?