前台发送Ajax请求,经nginx转发给tomcat服务,后台却偶发性收到重复的请求,不是nginx超时重试,是同一时间(一秒时间段内)收到重复请求。
常用的处理方式:前台加遮罩和disable,后台通过redis去重,都已经使用,也确实避免了数据的重复提交。
但始终不能理解这个请求是怎么产生的,测试环境下无论如何也模拟不出来,为了判断是nginx产生的请求,还是前台产生的,在ajax提交时增加一个随机数,nginx日志如下:
前台发送Ajax请求,经nginx转发给tomcat服务,后台却偶发性收到重复的请求,不是nginx超时重试,是同一时间(一秒时间段内)收到重复请求。
常用的处理方式:前台加遮罩和disable,后台通过redis去重,都已经使用,也确实避免了数据的重复提交。
但始终不能理解这个请求是怎么产生的,测试环境下无论如何也模拟不出来,为了判断是nginx产生的请求,还是前台产生的,在ajax提交时增加一个随机数,nginx日志如下:
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
前台遮罩和disable毕竟是有一定延迟的,最好在提交的时候增加一个事务锁。