标准答案
- 502 常提示代理没有拿到有效上游响应,504 更偏向等待上游超时,但具体语义取决于网关。
- 检查 Node 进程是否重启、事件循环是否阻塞、线程池和连接池是否耗尽。
- 继续关联 DNS、TLS、数据库、HTTP 下游、限流、重试和发布配置。
- 排查日志要脱敏,修复后验证错误率、P99、重试倍数和业务结果。
题目解析
502/504 的具体含义依赖网关,但排查都应沿请求 ID 和时间窗口拆分客户端、代理、Node 进程、事件循环、Agent/连接池和下游。状态码本身不是根因。
如果事件循环延迟高,优先看同步计算和微任务;如果主线程正常但 Agent 或数据库池等待高,问题更可能在连接或下游。重试和进程重启还可能放大原始故障。
修复要同时看错误率、P99、重试倍数、连接和业务结果。日志需要脱敏,token 和完整请求体不能为了排查而长期保存。
常见误区
- 误区:看到 504 只调大网关 timeout。改正:先定位是代理等待、Node 阻塞、连接池排队还是下游变慢。
- 误区:只看 Node 应用日志。改正:关联代理、DNS、TLS、下游、连接池和发布事件。
- 误区:为了排查记录完整 token 和请求体。改正:使用请求 ID、脱敏字段和最小必要样本,保护敏感数据。