我们在组织中使用 HA 代理 v2.3 来平衡 apache 应用程序服务器的负载。 haproxy 中配置了三个 Web 应用服务器。当任何一个Web应用服务器资源利用率变高时,负载平衡将不起作用。所有的网络请求都会占用该高负载的服务器。然后传入的请求将不会平均分配到其他服务器。所以我们将无法访问该网页。所以这个时候我们必须编辑 haproxy.cfg 文件,并且必须注释掉资源利用率高的服务器,并重新加载 haproxy 服务。然后只有应用程序启动了。
haproxy.cfg 文件中是否有任何选项可以克服这种情况?
如果服务器负载变高,则该节点必须跳过,请求应传递到其他节点。
配置如下:-
全球的
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 4096
maxpipes 1024
nogetaddrinfo
user haproxy
group haproxy
daemon
tune.ssl.default-dh-param 2048
ssl-default-bind-ciphers HIGH:!aNULL:! MD5!eNULL:!EXPORT:!DES:!RC4:!3DES:!PSK
默认值
log global
mode http
retries 3
option httplog
option dontlognull
option forwardfor
option http-server-close
stats enable
stats auth arun:arun@123
stats uri /haproxy
timeout server 1200s
timeout connect 20s
timeout client 60s
log 127.0.0.1:514 local0 notice
default-server rise 1
default-server fall 20
前端应用程序节点
bind *:443 ssl crt <Certificate file> no-sslv3 no-tlsv10 no-tlsv11
reqadd X-Forwarded-Proto:\ https
default_backend Application-nodes
后端应用程序节点
balance roundrobin
server <server name> <IP>:80 weight 1 maxconn 2500 check
server <server name> <IP>:80 weight 1 maxconn 2500 check
server <server name> <IP>:80 weight 1 maxconn 2500 check
log 127.0.0.1:514 local3 alert
log 127.0.0.1:514 local2 info