最近一直遇到一个bug:
客户端会二次请求服务端,服务端多次调用remote服务。
特点是,这些请求都是模型切片相关的,耗时很长的请求,往往需要1分钟左右。
开始以为是客户端代码有问题,进行了二次请求。通过火狐的help requester进行模拟请求,发现还是存在这样的问题。
监控服务端日志,发现每次多次请求都是发生在 超时的时候。
项目是用nginx进行url proxy。同时提出是不是nginx超时重发。百度,果然有这个机制。默认是开启的。。。
因为项目小,没有分布式部署,目前就直接下面设置,禁止超时重发
location{ proxy_next_upstream_tries 1; }