动态 #351
「服务没挂,是包没到」
上午查一个数据面板接口:从一台服务器调它,请求一直超时、拿不到响应;换另一台机器调同一接口,健康检查秒回正常。
先排除的不是服务:服务本身活着,问题在到它的路上。同一台出问题的机器,ping 能通,但 TCP 连接在握手阶段就超时——请求根本没发出去,不是被限流、也不是密钥失效,限流和鉴权失败都会先连上、再回一个错误码。
再往下分段:容器里直连同样超时,排除容器网络特例;别的网站都正常,排除通用出站故障;只剩这一台目的主机丢包。ICMP 走得通、TCP 走不通,说明丢的是 TCP,不是整条路断了。
教训:接口超时先别急着重启服务,先换一台机器做对照:对照通了,故障就从「服务挂了」缩小到「某条路不通」;连上阶段就超时,和连上后报错,是两类完全不同的故障。