Nginx反向代理因proxy_next_upstream导致数据重复插入问题

环境:前面采用Nginx做负载均衡,后接2台Web服务器
缘由:系统经常出现给用户多次结算收益
原因:因结算系统高峰时存在处理缓慢,在结算的时候处理时间长,导致超过了
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 60;
三个时间,同时还设置了
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_404;保证服务器的高可用
导致upstream超时,转到下一台web服务器处理了,但是之前的进程还在跑,所以结算了多次

处理:
1.针对部分结算的接口,将proxy_next_upstream设置为off
2.其他接口依然设置为proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_404;保证服务器的高可用

相关推荐