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

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

🚀 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监控:收集和展示各项性能指标
  • 告警配置:设置性能阈值告警
  • 日志查询:集中查询服务调用日志
  • 元数据中心:管理服务的元数据信息
  • 注册中心:查看和管理注册中心状态

整体架构

shell 复制代码
┌──────────┐      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。

安装步骤

源码安装(开发)

克隆项目

从仓库中克隆项目:

shell 复制代码
https://github.com/apache/dubbo-admin

修改配置

接着我们修改配置文件,我这里的路径是:

shell 复制代码
github/dubbo-admin/dubbo-admin-server/src/main/resources

可以看到路径下的内容:

修改 application-dev.properties 文件

shell 复制代码
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 进行打包:

shell 复制代码
mvn clean package -Dmaven.test.skip=true

打包过程如下所示:

启动后端

接着我们使用 mvn 来启动服务:

shell 复制代码
mvn --projects dubbo-admin-server spring-boot:run

可以看到启动正常:

启动前端

我们需要进入到 UI 目录下启动:

shell 复制代码
github/dubbo-admin/dubbo-admin-ui

前端的页面对应如下:

使用 npm 启动前端的服务:

shell 复制代码
npm run dev

对应结果如下所示:

访问项目

1.访问http://IP:端口

2.输入用户名root,密码root(密码看是不是自己改的)

3.点击菜单查看服务提供者和服务消费者信息

对应的内容如下所示:

容器安装(推荐)

官方也提供了 Docker 容器的方式,我们可以直接运行容器来完成部署,更加快捷方便

shell 复制代码
$ 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

找到项目的配置文件

shell 复制代码
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 规则)仍未打通,需要手工同步。
相关推荐
Penge6665 小时前
Go 接口编译期断言
后端
我是一颗柠檬5 小时前
【MySQL全面教学】MySQL面试高频考点汇总Day15(2026年)
数据库·后端·mysql·面试
EMTime5 小时前
Docker运行OpenWRT
运维·docker·容器
橙淮6 小时前
并发编程(六)
java·jvm
拽着尾巴的鱼儿6 小时前
springboot openfeign 自定义feign 接口重试机制
java·spring boot·后端
搞科研的小刘选手6 小时前
【中山大学主办】第六届计算机科学与区块链国际学术会议(CCSB 2026)
分布式·神经网络·计算机视觉·区块链·计算机科学·共识算法·自然语言
白露与泡影6 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
Ceelog6 小时前
久坐党自救指南:屏幕前 8 小时,身体到底在经历什么
前端·后端
EntyIU7 小时前
JVM内存与GC笔记
java·jvm·笔记
XS0301067 小时前
并发编程 六
java·后端