Java-74 深入浅出 RPC Dubbo Admin可视化管理 安装使用 源码编译、Docker启动

Source

点一下关注吧!!!非常感谢!!持续更新!!!

🚀 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 rules
   Provider / 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 规则)仍未打通,需要手工同步。