温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java dubbo怎样监控性能

发布时间:2026-11-03 18:36:47 来源:亿速云 阅读:104 作者:小樊 栏目:编程语言

在 Java 中使用 Dubbo 时,监控性能通常可以从 内置机制、第三方中间件、APM 工具、自定义埋点 等多个层面来做。下面按“从简单到专业”的方式给你梳理。


一、Dubbo 自带监控方式(最基础)

1. Dubbo Admin(官方可视化)

Dubbo 官方提供 Dubbo Admin,可以直接看:

  • 服务调用次数
  • 成功率
  • 平均耗时
  • 提供者 / 消费者状态

使用方式:

  1. 部署 dubbo-admin
  2. 配置注册中心(Zookeeper / Nacos)
  3. 访问 Web 页面查看服务 Metrics

✅ 优点:简单、零侵入
❌ 缺点:粒度较粗,不适合复杂链路分析


2. Dubbo Monitor(旧方案,已不推荐)

早期 Dubbo 有 dubbo-monitor-simple,现在基本被 Dubbo Admin 替代。


二、基于 Metrics 的监控(推荐)

1. Dubbo + Micrometer(Spring Boot 场景)

Dubbo 2.7+ 支持 Micrometer。

引入依赖:

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metrics-api</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-core</artifactId>
</dependency>

配置示例:

dubbo:
  metrics:
    enabled: true
    protocol: prometheus

可监控指标:

  • 请求数(QPS)
  • 成功 / 失败数
  • 方法级耗时
  • 线程池状态

✅ 可对接:

  • Prometheus
  • Grafana

三、Prometheus + Grafana(生产级)

典型架构

Dubbo → Micrometer → Prometheus → Grafana

监控内容:

  • 接口级 RT(响应时间)
  • TP99 / TP999
  • 异常率
  • 并发数
  • 线程池耗尽情况

✅ 适合:

  • 生产环境
  • SLA 监控
  • 报警系统

四、链路追踪(重点推荐)

1. SkyWalking(国内最常用)

Dubbo 原生支持 SkyWalking。

特点:

  • 全链路追踪
  • 方法级耗时
  • 跨服务调用分析
  • 慢调用定位

使用方式:

  • 启动参数加 agent:
-javaagent:/path/skywalking-agent.jar

✅ 不需要改业务代码
✅ 非常适合 Dubbo 微服务


2. 其他 APM

  • Pinpoint
  • Zipkin + Sleuth
  • Jaeger

五、自定义性能监控(灵活但侵入)

使用 Dubbo Filter

@Activate(group = CommonConstants.PROVIDER)
public class PerformanceFilter implements Filter {
    @Override
    public Result invoke(Invoker<?> invoker, Invocation invocation) {
        long start = System.currentTimeMillis();
        Result result = invoker.invoke(invocation);
        long cost = System.currentTimeMillis() - start;
        // 上报到日志 / MQ / 监控系统
        return result;
    }
}

✅ 可精细控制
❌ 需要维护代码


六、常见性能监控指标(重点)

指标 说明
QPS 每秒请求数
RT 响应时间
TP99 99% 请求耗时
错误率 失败调用占比
线程池 是否阻塞
GC 是否频繁
网络 是否超时

七、推荐组合(实际生产)

✅ 最常用方案:

Dubbo + SkyWalking + Prometheus + Grafana

✅ 简单方案:

Dubbo Admin


如果你愿意,我可以:

  • 给你 完整 Dubbo + Prometheus 示例
  • 或 SkyWalking 接入步骤
  • 或 针对你当前 Dubbo 版本给方案

你现在的 Dubbo 是哪个版本?Spring Boot 还是纯 XML?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手