关于Nginx有没可能漏记请求日志或Nginx重复向后端发请求

浏览: 107 发布日期: 2016-12-11 分类: nginx

偶然发现有一用户同一时间领取了两份新客券 怀疑客户端未做防重复提交处理, 但问了客户端同事, 确实做了防重复提交处理, 然后查看Nginx日志 发现也只有一条领券日志记录

106.121.xxx.xxx [07/Dec/2016:00:12:06 +0800] "POST /activity/receive?t=1481040726076 HTTP/1.1" 200 0.071 116 … 0.072 Upstream:"10.0.10.117:20200"

只有一条领券请求 为什么会有并发领券的情况呢?

然后查看后端tomcat的请求日志 该时间点上却有两条日志

2016-12-07 00:12:06,426 - ApiLog -29049760 [http-nio-10.0.10.117-20200-exec-22] INFO   - Api:/activity/receive  Req:{"t":"1481040726076"}  Resp:{"processTime":0,"serverTime":1481040726425,"success":true}
2016-12-07 00:12:06,427 - ApiLog -29049761 [http-nio-10.0.10.117-20200-exec-76] INFO   - Api:/activity/receive  Req:{"t":"1481040726076"}  Resp:{"processTime":0,"serverTime":1481040726427,"success":true}

怀疑

  • 要么Nginx漏记了一条日志

  • 要么Nginx重复向后端发了请求

因为对Nginx的工作原理不熟悉 不知该如何查找问题原因

返回顶部