本地开发环境用一键脚本把整套微服务拉起来:网关、注册中心、认证、门户、几个业务服务。打开首页,能正常出登录页、能登录、主框架渲染出来——然后页面上的数据接口开始报错,字典、多语言资源全部拉取失败。直觉说”看网关日志”,打开一看:
网关日志从启动到现在,零 ERROR、零 Exception,干干净净。
日志无罪、配置没改过、代码没动过,这种”环境性灵异故障”最考验排查方法论。最终根因落在一个完全意料之外的地方:网关进程带着 JRebel agent 启动,导致 Zuul 路由表的绑定顺序被打乱,兜底路由抢走了所有通配子路由。整场排查没有看一行 Zuul 源码仓库、没有重启大法、没有玄学,靠的是判别实验、字节码反编译和一个很多人没用过的 JDK 自带工具——jdb。这篇完整复盘整个过程,并把用到的工具逐一讲透。