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