项目是基于 gin 开发的,之前运行一直是正常的,最近在美国那边的环境出现了如题的问题,之前他们的环境出现过一个 pod 可以通信,但另一个 pod 无法通信的情况。
client 端发送消息显示超时:Post "http://xxx/keepalive": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
但 server 端能打印出接收到了消息:[GIN] 2023/06/21 - 01:50:25 | 200 | 621.616µs | 2002:1:2::1 | POST "/xxx/keepalive"
求助下大佬们,有人知道这个问题的原因吗,或者这个问题大概出在哪个方向,因为美国佬非说是我们这边的应用出了问题,但据我观察应该不是的,需要个理由打过去。
1
qoo2019 2023-06-21 10:59:21 +08:00
抓包出证据
|
2
lhbc 2023-06-21 10:59:43 +08:00
排除 Great Firewall 或者网络丢包了吗?
|
3
julyclyde 2023-06-21 12:22:02 +08:00
while awaiting headers 说明发送完成了,不是发送超时
|
4
x77 2023-06-21 13:08:19 +08:00
看信息像客户端 Post 成功,然后等待服务器回应超时
问问服务端有没有回应客户端;排查网路问题,确认客户端能收到服务器的回应;排查通讯协议问题,收到了信息但是没对接好以为没收到。 |