nginx集群请求多次提交问题处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx集群请求多次提交问题处理相关的知识,希望对你有一定的参考价值。

ngx_http_proxy_module 模块中 proxy_next_upstream 指令

语法:

proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 |http_404 | off ...;

默认值: proxy_next_upstream error timeout;

上下文: http, server, location


参数解析:

  • error  # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现错误

  • timeout # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现超时

  • invalid_header # 后端服务器返回空响应或者非法响应头

  • http_500 # 后端服务器返回的响应状态码为500

  • http_502 # 后端服务器返回的响应状态码为502

  • http_503 # 后端服务器返回的响应状态码为503

  • http_504 # 后端服务器返回的响应状态码为504

  • http_404 # 后端服务器返回的响应状态码为404

  • off # 停止将请求发送给下一台后端服务器


应用场景:

1、提高访问成功率:
配置:
proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;
说明:当其中一台upstream返回错误码404,500...等错误时,将请求分配到下一台服务器程序继续处理,提高平台访问成功率,多可运用于前台程序负载;

2、同一请求多台服务器重复处理

因为 proxy_next_upstream 的默认值: proxy_next_upstream error timeout;

场景:当访问A时,A返回error timeout时,访问会继续分配到下一台服务器处理,就等于一个请求分发到多台服务器,就可能出现多次处理的情况,如果涉及到充值,就有可能充值多次的情况,这种情况下就要把proxy_next_upstream关掉。
proxy_next_upstream off;

本文出自 “冷水泡茶” 博客,请务必保留此出处http://miaocbin.blog.51cto.com/689091/1900535

以上是关于nginx集群请求多次提交问题处理的主要内容,如果未能解决你的问题,请参考以下文章

JSF 2.0 和多次提交问题

Spring AOP 学习之注解解决重复提交,异常日志处理

Nginx集群(负载均衡)

集群和负载均衡的区别 nginx

解决 SLURM “sbatch:错误:批处理作业提交失败:请求的节点配置不可用”错误

Nginx+Tomcat 部署负载均衡集群