我们有 2 台服务器上在由 nginx 处理 SLB 转发过来的 HTTP 请求,发现有时候一个请求分别被 2 台服务器收到了。
证据就是在 2 台机上的 nginx 日志中可以看到各有一条相同内容的请求发生在同一秒。
我们的服务访问量比较少,出现这样的现象时都是运营在玩应用的时候偶然发现的,这样都能隔几天发现一次,可以想象发生的几率应该是比较高的。
回复
winglight2016
后台直接采用无状态服务不好吗?
husinhu
slb: 谁说我没有灾备
bombless
噗,没事了,查了 SLB 那边的记录,是用户确实发了多条请求。
msg7086
你标题上写着同一个请求,内容里却写着同一秒内有相同内容的请求?
roricon
这个是正常的吧。在 Nginx 中如果一个 request 没有被正常处理,默认会尝试继续在 upstream 的其他 host 上重试。
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
tinyproxy
应该不会出这种事。。。服务器开放一个原则,不要相信客户端
doyel
我也碰到过,但是只有同一个用户的一个设备,后来把他拉黑了……
@bombless 请问 SLB 在哪看日志呢?