如何通知HAProxy我的服务器正在备份?

我有点HAProxy新手 – 我有3个docker集装箱,一个运行HAProxy与以下configuration:

global log 127.0.0.1 local0 log 127.0.0.1 local1 notice chroot /var/lib/haproxy user haproxy group haproxy stats socket /var/run/haproxy.sock mode 600 level admin # daemon defaults log global mode http option httplog option dontlognull timeout connect 5000ms timeout client 50000ms timeout server 50000ms balance source listen stats :80 stats enable stats uri /haproxy?stats stats realm Strictly\ Private stats auth test:test1234 balance roundrobin #option forwardfor default_backend myserv-legacy backend myserv-legacy cookie SERVERID insert indirect preserve server myserv-A ${MYSERVA_PORT_8080_TCP_ADDR}:8080 cookie A check server myserv-B ${MYSERVB_PORT_8080_TCP_ADDR}:8080 cookie B check 

另外两台服务器使用Tomcat运行一个webapp。

我用sudo docker stop myservA myservB把我的两台服务器关了sudo docker stop myservA myservB ,虽然我已经启动了它们并且可以通过它们的暴露的端口连接到它们,但它们在2000毫秒时都显示出在HAProxy中有一个L4TOUT。

任何线索为什么他们不会显示为可用?

编辑

如果我跑

 $ sudo docker stop haprox && sudo docker start haprox 

(haprox是我的HAProxy容器的名称),那么我的服务器再次可用…

我只是想问一下,地址variables的值是否在变,呵呵。

我在dynamic集装箱环境中看到这样做的方式是使用像etcd或Consul这样的服务发现工具来帮助负载均衡器find后端 – 看起来Consul有一个专门用于HAProxy用例的工具。