nginx 通过proxy_next_upstream实现容灾和重复处理问题

简介:
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; //进入max_fails计数
当其中一台返回错误码404,500...等错误时,可以分配到下一台服务器程序继续处理,提高平台访问成功率,多可运用于前台程序负载,设置proxy_next_upstream
proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;
2、proxy_next_upstream off
因为proxy_next_upstream 默认值: proxy_next_upstream error timeout;
场景:当访问A时,A返回error timeout时,访问会继续分配到下一台服务器处理,就等于一个请求分发到多台服务器,就可能出现多次处理的情况,
如果涉及到充值,就有可能充值多次的情况,这种情况下就要把proxy_next_upstream关掉
proxy_next_upstream off



      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1961144,如需转载请自行联系原作者

相关文章
9kr
|
应用服务中间件 网络安全 nginx
通过宝塔Nginx反代HomeAssistant并添加SSL实现隐藏端口号与域名访问
HomeAssistant默认使用8123端口,带端口访问既不美观也不方便。 通过宝塔Nginx默认反代配置会出现各种意外错误,本文将通过修改HomeAssistant与反代配置解决该问题。
9kr
3727 1
通过宝塔Nginx反代HomeAssistant并添加SSL实现隐藏端口号与域名访问
|
缓存 负载均衡 算法
Nginx实现负载均衡(整合SpringBoot小demo)
Nginx实现负载均衡(整合SpringBoot小demo)
363 4
Nginx实现负载均衡(整合SpringBoot小demo)
|
存储 应用服务中间件 Linux
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
|
存储 Java 应用服务中间件
线程池设计, 从简单的我们平常设计线程池图解,到生活中的类似线程池的处理现实场景, 到简单的C++模拟nginx写的单链表组织工作队列的简单线程池实现 + nginx 部分源码刨析
线程池设计, 从简单的我们平常设计线程池图解,到生活中的类似线程池的处理现实场景, 到简单的C++模拟nginx写的单链表组织工作队列的简单线程池实现 + nginx 部分源码刨析
线程池设计, 从简单的我们平常设计线程池图解,到生活中的类似线程池的处理现实场景, 到简单的C++模拟nginx写的单链表组织工作队列的简单线程池实现 + nginx 部分源码刨析
|
存储 网络协议 Java
内存池组件以及根据nginx内存池源码设计实现简易内存池
内存池组件以及根据nginx内存池源码设计实现简易内存池
内存池组件以及根据nginx内存池源码设计实现简易内存池
|
SQL 负载均衡 应用服务中间件
nginx安装 、分发实现多域名访问同一主机不同端口
nginx安装 、分发实现多域名访问同一主机不同端口
939 0
nginx安装 、分发实现多域名访问同一主机不同端口
|
监控 数据可视化 应用服务中间件
Nginx系列:用GoAccess实现可视化并实时监控access日志
Nginx系列:用GoAccess实现可视化并实时监控access日志
366 0
Nginx系列:用GoAccess实现可视化并实时监控access日志
|
域名解析 JavaScript 前端开发
Linux安装NodeJs并配合Nginx实现反向代理
Linux安装NodeJs并配合Nginx实现反向代理
365 0
|
负载均衡 网络协议 应用服务中间件
nginx实现负载均衡
nginx实现负载均衡
338 0
nginx实现负载均衡
|
域名解析 网络协议 安全
nginx配置ssl证书实现https
nginx配置ssl证书实现https
470 0
nginx配置ssl证书实现https