Nginx重复发送请求到tomcat执行问题解决

本文介绍了在使用Nginx作为负载均衡器时,遇到的由于请求超时引发的重复请求到Tomcat服务器的问题。在分析过程中,首先排除了前端用户操作导致的重复请求,然后通过日志发现请求间隔时间与Nginx超时时间相符。最终,通过将Nginx的超时时间设置为1500秒,成功解决了重复请求的问题。
摘要由CSDN通过智能技术生成

起因:

起初采用nginx做负载均衡,部署两个tomcat服务器,WEB端系统存在批量操作数据,把数据通过webservice接口循环一条一条传到第三方系统(第三方系统为避免自己系统并发频繁挂掉,要求我们每条数据间隔一秒后再传送下一条),由于数据量多,WEB前端从发送请求到接到响应请求需要时间至少20分钟;

分析解决过程:

1、起初,由于对nginx负载均衡原理理解不够深,以为是数据操作员批量操作,前端界面因响应时间长,响应完页面未刷新,操作员操作同一批数据到时重复上传,故对前端进行修改。

2、然后,前端修改完毕,进行测试,发现存在同样的重复发送请求问题。故增加打印请求参数日志进行追踪问题。

3、接着,再一次进行测试,查看日志,发现两次同样请求参数的日志时间间隔是10分钟,小于响应请求结束时间20分钟,如果由于页面未刷新进行二次操作则间隔时间应该大于20分钟,故判断不是由于二次操作导致重复请求。此时进行思考,想起系统用了nginx做负载均衡,会不会是一个请求响应时间超过nginx的请求超时时间,nginx再一次对另一个tomcat发起请求,查看nginx的配置,超时时间设置设置刚好也是10分钟(对应两次请求间隔时间)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值