在我的场景中,我有 2 台服务器,它们都在与 HAProxy 通信。当请求进来时,HAProxy 将请求拆分并以循环方式将其发送到两个服务器。如果在任何情况下我的第一个实例在那个时候出现故障,HAProxy 应该知道其中一个服务器已停机,并且它不应该将任何请求转发到该服务器。它应该只为每个请求与另一台服务器通信。
谁能告诉我如何为上述场景配置我的 HAProxy?
在我的场景中,我有 2 台服务器,它们都在与 HAProxy 通信。当请求进来时,HAProxy 将请求拆分并以循环方式将其发送到两个服务器。如果在任何情况下我的第一个实例在那个时候出现故障,HAProxy 应该知道其中一个服务器已停机,并且它不应该将任何请求转发到该服务器。它应该只为每个请求与另一台服务器通信。
谁能告诉我如何为上述场景配置我的 HAProxy?
假设您在 10.0.0.2 和 10.0.0.3 上有 2 个 tomcat,并且在 tomcat /server/alive 上只有当 tomcat 实例处于活动状态时才会响应,那么这可能是您的 haproxy 配置中的后端:
backend tomcat-dev
mode http
balance roundrobin
option http-server-close
option forwardfor
option httpchk HEAD /server/alive HTTP/1.0
timeout connect 10s
timeout server 60s
server server-tomcat-dev-1 10.0.0.2:8080 weight 1 maxconn 512 check
server server-tomcat-dev-2 10.0.0.3:8080 weight 1 maxconn 512 check