置顶源码级排障 · 系列目录


源码级排障 · 系列目录 叙事框架:看不懂源码就排不了的疑难杂症 总计 40 篇,已发布 10 篇,30 篇待完善 一、Dubbo / RPC 类 ✅ Dubbo 接口调不通:从注册中心到网络层全链路排查 ✅ Dubbo 消费端直连模式下调用失败分析 ✅ Dubbo 线程池满:Linux 用户线程数

Dubbo 服务版本管理不善导致灰度失败


Dubbo 服务版本管理不善导致灰度失败 场景:灰度发布流量全量走到旧版本,新版本 Provider 零流量,registry 机器齐全却路由不到 路径:DynamicDirectory.doList() → RouterChain.route() → ConditionRouter.route()

日志凭空消失?Filter 顺序错了——Dubbo 一个 order 值让 ExceptionFilter 成了摆设


日志凭空消失?Filter 顺序错了——Dubbo 一个 order 值让 ExceptionFilter 成了摆设 场景:Provider 端 SecurityFilter 拦截了非法请求,返回了错误——但 ExceptionFilter 没写那行日志 路径:ProtocolFilterWrapp

一个 Listener 注册了两次——Dubbo 版本升级把掩盖去掉了


一个 Listener 注册了两次——Dubbo 版本升级把掩盖去掉了 场景:Spring Boot 2.1.5 + Dubbo 2.7.6,启动报 BeanDefinitionOverrideException,bean 名称 'dubboBootstrapApplicationListener'

LeastActive 把新节点打满了?Dubbo active 计数的反直觉陷阱


LeastActive 把新节点打满了?Dubbo active 计数的反直觉陷阱 场景:三台 Dubbo Provider 配置 LeastActive 负载均衡,灰度重启后新节点 CPU 冲到 90%、流量占 72%,其余两台仅 30% 路径:AbstractClusterInvoker.inv

排查 3 小时,问题竟在 Dubbo 路由规则:一个 force 的坑


排查 3 小时,问题竟在 Dubbo 路由规则:一个 force 的坑 场景:排查 3 小时,问题竟在 Dubbo 路由规则:一个 force 的坑 路径:DynamicDirectory.doList() → RouterChain.route() → ConditionRouter.route(

> **场景**:Dubbo 消费端配置 async=true 异步调用,通过 RpcContext.getFuture() 拿到 CompletableFuture 注册 whenComplete 回调,但回调始终不执行。100 QPS 时正常,500 QPS 时大面积静默,滚动重启恢复,15 分钟后又复现。


场景:Dubbo 消费端配置 async=true 异步调用,通过 RpcContext.getFuture() 拿到 CompletableFuture 注册 whenComplete 回调,但回调始终不执行。100 QPS 时正常,500 QPS 时大面积静默,滚动重启恢复,15 分钟后又复现。

Dubbo 泛化调用参数序列化:PojoUtils 泛化/还原的 3 个隐秘陷阱


Dubbo 泛化调用参数序列化:PojoUtils 泛化/还原的 3 个隐秘陷阱 场景:网关层泛化调用 $invoke 批量调用 Provider,时偶出现 ClassCastException / InstantiationException / StackOverflowError 路径:Gen

Dubbo 线程池满:Linux 用户线程数限制导致的服务不可用


Dubbo 线程池满:Linux 用户线程数限制导致的服务不可用 场景:Dubbo Provider 报 Thread pool is exhausted,线程池配置合理、QPS 正常 路径:Dubbo 拒绝策略源码 → ThreadPoolExecutor.addWorker() → JVM pt

Dubbo 消费端直连模式下调用失败分析


Dubbo 消费端直连模式下调用失败分析 本文是源码级排障系列的第 2 篇 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 问题现象 告警触发 某日早高峰 10:11,订单履约服务 order-service 突然出现大量接口调用 5xx 错误。SRE 值班群收到 MonitorBot