1
pangliang 2016-08-17 09:26:56 +08:00
这个 60 秒应该不是打 了两次 B, 是恰巧 B 的执行就是 60 秒; 或者说是这个 request 的执行时间过长, 超过了指定的最长时间, 容器主动终止了运行, (不知道你是不是 php, php 默认 max runtime 就是 60 秒, 也就是说你在 php 里 sleep(120) 是不行的)
另外 , 这个 fail_timeout 的意思不是告诉 A, 如果 B fail_timeout 秒不返回就算他 fail, 而是说, B 出现 max_fails 次 非 200 响应后, 把 B 打入冷宫 fail_timeout 秒 你这个问题其实跟 nginx 没什么关系, 这种业务都是要有"订单号" 并且 请求来了先判断这个订单是否已经被处理过 的判断 |