go grpc 偶尔会返回Socket closed

php grpc调用go 服务端,偶尔会出现socket closed。
相隔5秒的两个请求,请求同一个服务,第一个正常返回,第二个出现socket closed, 有时候却没有问题。可能是业务里加锁的问题吗,但是第一个请求完锁就释放了。即便没有释放,第二个请求也是阻塞。

之前go服务挂掉的时候会出现failed to connect to all addresses ,然后会出现socket closed。 但是目前服务都正常偶尔出现socket closed。
我改如何排查或者复现这个socket closed呢

环境
php go nginx 都在docker里,php调用go通过nginx做了一层转发。

阅读 5.4k
1 个回答

我考虑可以从两个方面去查一下:1⃣️当请求发生panic的时候,服务器会主动断开链接,这可以从这个角度入手,查看一下是不是发生panic了。2⃣️从时间上入手,你看看使用链接方式,是长链接还是短链接,如果是长链接就可能出现因为时间设置不合理,导致出现你的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题