Nginx 在 upstream 模块中默认的检测机制是通过用户的真实请求去检查被代理服务器的可用性,这是一种被动的检测机制,通过 upstream 模块中 server 指令的指令值参数 max_fails 及 fail_timeout 实现对被代理服务器的检测和熔断。
配置样例如下:
upstream http_backend {
# 10s内出现3次错误,该服务器将被熔断10s
server 192.168.2.154:8080 max_fails=3 fail_timeout=10s;
server 192.168.2.109:8080 max_fails=3 fail_timeout=10s;
server 192.168.2.108:8080 max_fails=3 fail_timeout=10s;
server 192.168.2.107:8080 max_fails=3 fail_timeout=10s;
}
server {
proxy_connect_timeout 5s; # 与被代理服务器建立连接的超时时间为5s
proxy_read_timeout 10s; # 获取被代理服务器的响应最大超时时间为10s
# 当与被代理服务器通信出现指令值指定的情况时,认为被代理出错,并将请求转发给上游服务器组中
# 的下一个可用服务器
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
proxy_next_upstream_tries 3; # 转发请求最多3次
proxy_next_upstream_timeout 10s; # 总尝试超时时间为10s
location /htt

最低0.47元/天 解锁文章
904

被折叠的 条评论
为什么被折叠?



