點一下關注吧!!!非常感謝!!持續更新!!!
🚀 AI篇持續更新中!(長期更新)
AI煉丹日志-30-新發布【1T 萬億】參數量大模型!Kimi?K2開源大模型解讀與實踐,持續打造實用AI工具指南!📐🤖
💻 Java篇正式開啟!(300篇)
目前2025年07月16日更新到:
Java-74 深入淺出 RPC Dubbo Admin可視化管理 安裝使用 源碼編譯、Docker啟動
MyBatis 已完結,Spring 已完結,Nginx已完結,Tomcat已完結,分布式服務正在更新!深入淺出助你打牢基礎!
📊 大數據板塊已完成多項干貨更新(300篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余項核心組件,覆蓋離線+實時數倉全棧!
大數據-278 Spark MLib - 基礎介紹 機器學習算法 梯度提升樹 GBDT案例 詳解
Dubbo Admin 主要功能詳解
主要作用
Dubbo Admin 是一個功能強大的可視化管理和監控平臺,主要用于管理和監控 Dubbo 微服務架構中的各項服務。它提供了直觀的用戶界面,讓運維人員和開發者能夠更方便地進行服務治理和運維工作。
核心功能模塊
1. 服務管理
- 服務查詢:查看所有注冊的服務及其提供者和消費者信息
- 服務詳情:展示服務的接口定義、方法列表、參數類型等元數據
- 服務測試:在線測試服務接口,驗證服務是否正常
- 服務上下線:動態控制服務的啟用和禁用狀態
2. 路由規則
- 條件路由:基于條件表達式配置服務路由規則
- 標簽路由:通過標簽對服務進行分組和路由
- 規則管理:創建、修改、刪除和查詢路由規則
- 規則測試:模擬驗證路由規則的匹配效果
3. 動態配置
- 配置下發:動態修改服務提供者和消費者的配置參數
- 配置覆蓋:支持不同粒度的配置覆蓋(應用級、服務級、方法級)
- 配置回滾:快速恢復到之前的配置版本
- 配置版本管理:記錄配置變更歷史
4. 服務降級
- Mock設置:配置服務降級時的mock數據
- 降級策略:設置服務不可用時的降級處理邏輯
- 熔斷規則:配置服務的熔斷閾值和恢復策略
- 降級監控:實時查看服務降級狀態和統計
5. 訪問控制
- 黑白名單:設置IP或服務級別的訪問權限
- 權限認證:配置服務調用的認證機制
- 流量限制:設置服務調用的頻率限制
- 操作審計:記錄所有管理操作日志
6. 權重調整
- 服務權重:調整不同服務實例的流量權重
- 灰度發布:通過權重控制實現灰度發布
- AB測試:配置不同版本服務的流量分配比例
- 權重監控:實時觀察權重調整后的流量分布
7. 負載均衡
- 策略選擇:配置各種負載均衡策略(隨機、輪詢、最少活躍等)
- 自定義策略:支持用戶自定義負載均衡算法
- 策略測試:模擬驗證負載均衡效果
- 性能監控:監控不同負載均衡策略的執行效果
8. 其他功能
- 服務依賴:可視化展示服務間的調用關系
- Metrics監控:收集和展示各項性能指標
- 告警配置:設置性能閾值告警
- 日志查詢:集中查詢服務調用日志
- 元數據中心:管理服務的元數據信息
- 注冊中心:查看和管理注冊中心狀態# Dubbo Admin 主要功能詳解
主要作用
Dubbo Admin 是一個功能強大的可視化管理和監控平臺,主要用于管理和監控 Dubbo 微服務架構中的各項服務。它提供了直觀的用戶界面,讓運維人員和開發者能夠更方便地進行服務治理和運維工作。
核心功能模塊
1. 服務管理
- 服務查詢:查看所有注冊的服務及其提供者和消費者信息
- 服務詳情:展示服務的接口定義、方法列表、參數類型等元數據
- 服務測試:在線測試服務接口,驗證服務是否正常
- 服務上下線:動態控制服務的啟用和禁用狀態
2. 路由規則
- 條件路由:基于條件表達式配置服務路由規則
- 標簽路由:通過標簽對服務進行分組和路由
- 規則管理:創建、修改、刪除和查詢路由規則
- 規則測試:模擬驗證路由規則的匹配效果
3. 動態配置
- 配置下發:動態修改服務提供者和消費者的配置參數
- 配置覆蓋:支持不同粒度的配置覆蓋(應用級、服務級、方法級)
- 配置回滾:快速恢復到之前的配置版本
- 配置版本管理:記錄配置變更歷史
4. 服務降級
- Mock設置:配置服務降級時的mock數據
- 降級策略:設置服務不可用時的降級處理邏輯
- 熔斷規則:配置服務的熔斷閾值和恢復策略
- 降級監控:實時查看服務降級狀態和統計
5. 訪問控制
- 黑白名單:設置IP或服務級別的訪問權限
- 權限認證:配置服務調用的認證機制
- 流量限制:設置服務調用的頻率限制
- 操作審計:記錄所有管理操作日志
6. 權重調整
- 服務權重:調整不同服務實例的流量權重
- 灰度發布:通過權重控制實現灰度發布
- AB測試:配置不同版本服務的流量分配比例
- 權重監控:實時觀察權重調整后的流量分布
7. 負載均衡
- 策略選擇:配置各種負載均衡策略(隨機、輪詢、最少活躍等)
- 自定義策略:支持用戶自定義負載均衡算法
- 策略測試:模擬驗證負載均衡效果
- 性能監控:監控不同負載均衡策略的執行效果
8. 其他功能
- 服務依賴:可視化展示服務間的調用關系
- Metrics監控:收集和展示各項性能指標
- 告警配置:設置性能閾值告警
- 日志查詢:集中查詢服務調用日志
- 元數據中心:管理服務的元數據信息
- 注冊中心:查看和管理注冊中心狀態
整體架構
┌──────────┐ REST/WebSocket ┌──────────────┐
│ UI(Vue) │ <───────────────────────? │ Admin Server │──┐
└──────────┘ └──────────────┘ │▼┌────────────┐ ┌─────────────┐│ Registry │ │ Config Ctr. │└────────────┘ └─────────────┘▲ ▲(Dubbo apps) │Metadata │Dynamic rulesProvider / Consumer ──────────────┴────────────────┴───────────?
- Admin UI:Vue3 + Vite;負責交互渲染與長輪詢 / WebSocket 推送。
- Admin Server:Spring Boot;封裝 Registry、ConfigCenter、MetadataCenter 客戶端,同時暴露 gRPC/REST API,供自動化腳本或 CI/CD 編排調用。
- 可插拔存儲:Zookeeper / Nacos / Etcd / Kubernetes CRD;寫一次配置,多 Registry 同步。
- 安全層:signSecret + JWT 校驗,請務必生產環境修改默認 root 口令并啟用 TLS。
安裝步驟
源碼安裝(開發)
克隆項目
從倉庫中克隆項目:
https://github.com/apache/dubbo-admin
修改配置
接著我們修改配置文件,我這里的路徑是:
github/dubbo-admin/dubbo-admin-server/src/main/resources
可以看到路徑下的內容:
修改 application-dev.properties 文件
admin.registry.address=zookeeper://10.10.52.38:2181
admin.config-center=zookeeper://10.10.52.38:2181
admin.metadata.address=zookeeper://10.10.52.38:2181
PS:我在IDE中修改。
打包項目
我們在項目的根目錄下用 mvn 進行打包:
mvn clean package -Dmaven.test.skip=true
打包過程如下所示:
啟動后端
接著我們使用 mvn 來啟動服務:
mvn --projects dubbo-admin-server spring-boot:run
可以看到啟動正常:
啟動前端
我們需要進入到 UI 目錄下啟動:
github/dubbo-admin/dubbo-admin-ui
前端的頁面對應如下:
使用 npm 啟動前端的服務:
npm run dev
對應結果如下所示:
訪問項目
1.訪問http://IP:端口
2.輸入用戶名root,密碼root(密碼看是不是自己改的)
3.點擊菜單查看服務提供者和服務消費者信息
對應的內容如下所示:
容器安裝(推薦)
官方也提供了 Docker 容器的方式,我們可以直接運行容器來完成部署,更加快捷方便
$ docker run -itd --net=host --name dubbo-admin -v /dubbo/dubbo-admin/properties:/config apache/dubbo-admin
這里的配置文件需要從本地映射到容器中,其他步驟和上面一樣的。
直接使用(推薦)
https://github.com/apache/dubbo-admin/releases
我們可以直接下載壓縮包:https://github.com/apache/dubbo-admin/releases/download/0.3.0/apache-dubbo-admin-0.3.0-bin-release.zip
找到項目的配置文件
vim bin/config/application.properties
根據配置文件內容進行修改:
官方提供了幾個腳本來幫助我們啟動:
與 Dubbo 生態的配合
- 觀測:Admin Server 暴露 /actuator/prometheus,Grafana 導入官方 JSON 即可。
- CI/CD:通過 Admin REST API 寫灰度規則,可嵌入 GitLab Runner 或 ArgoCD。
- Service Mesh:在 Dubbo-Kubernetes Proxyless 模式下,Admin 負責下發 xDS 路由;與 Istio 共存時只負責 Dubbo-內部流量。
優劣勢 & 實戰經驗
優點
- 官方維護,規則模型與 SDK 完全一致,避免多控制面割裂。
- 支持傳統 RPC 與新 Triple/gRPC 協議混用,升級成本低。
- API 全開放,可腳本化自動化。
局限
- UI 仍在快速演進,字段偶有英文未翻譯;需要跟隨 master 分支更新。
- RBAC 目前為單租戶粒度,SaaS 需要二次封裝。
- 與異構治理(如 Envoy L7 規則)仍未打通,需要手工同步。