stream {
upstream dlpt_mysql_8080_backend {
# 10s内出现3次错误,该服务器将被熔断10s
server 192.168.0.1:8080 max_fails=3 fail_timeout=10s;
server 192.168.0.2:8080 max_fails=3 fail_timeout=10s;
server 192.168.0.3:8080 max_fails=3 fail_timeout=10s;
}
server {
listen 8080;
proxy_connect_timeout 5s; # 与被代理服务器建立连接的超时时间为5s
proxy_timeout 10s; # 获取被代理服务器的响应最大超时时间为10s
# 当被代理的服务器返回错误或超时时,将未返回响应的客户端连接请求传递给upstream中的下
# 一个服务器
proxy_next_upstream on;
proxy_next_upstream_tries 3; # 转发尝试请求最多3次
proxy_next_upstream_timeout 10s; # 总尝试超时时间为10s
proxy_socket_keepalive on; # 开启SO_KEEPALIVE选项进行心跳检测
proxy_pass dlpt_mysql_8080_backend;
}
}