HAProxy 负载均衡后端 - 当一台服务器宕机时的行为

HAProxy 负载均衡后端 - 当一台服务器宕机时的行为

我的理解是,如果两个服务器后端通过 HAProxy 进行负载平衡,那么如果一个服务器出现故障,HAProxy 应该能够将所有流量引导到另一个服务器。

我有两个负载均衡的 Web 服务器,使用 roundrobin 和 httpchk,但当其中一个服务器宕机时,我会收到503 - Service unavailable来自 HAProxy 的消息。也许我的配置有问题?

backend app
    timeout server 50000ms
    mode http
    balance roundrobin
    option httpchk

    server ap1 ap1:8000 maxconn 4000 #ap1 is hostname
    server ap2 ap2:8000 maxconn 4000 #ap2 is hostname

答案1

也许,如果您在 httpchk 中添加一个明确的 URL,它会有所帮助 - 默认情况下,它会在 / 上使用 http OPTION。此外,您还必须在主机定义中添加“check”关键字(http://haproxy.1wt.eu/download/1.3/doc/haproxy-en.txt第 3.1 节)

backend app
    timeout server 50000ms
    mode http
    balance roundrobin
    option httpchk HEAD /some/valid/url

    server ap1 ap1:8000 maxconn 4000 check #ap1 is hostname
    server ap2 ap2:8000 maxconn 4000 check #ap2 is hostname

相关内容