Answers:
查看此配置:
listen my-server 0.0.0.0:80
balance roundrobin
server web01 10.10.10.1:80 check inter 10s fall 3 rise 99999999
server web02 10.10.10.2:80 check backup
默认情况下,所有请求都将到达web01。web02将不被使用。如果web01停止响应,则30秒(每隔10秒检查3次)后,服务器将脱机。web02将上线,所有请求都将击中它。
如果web01恢复,则只有经过99999999次检查(间隔10秒)后,它才能重新联机-实际上永远不会。
如果您只有两个服务器,恰好有两个服务器,则对通过起搏器/冠状动脉同步管理的服务使用vip使其具有更高的可用性可能更有意义。
通过将SB标记为备份服务器,也可以使用haproxy。这样,它仅在SA不可用时使用:
backend mybackend
mode http
balance roundrobin
option httpchk /test.html
server server1.example.com server1.example.com:80 weight 1 check port 80 inter 5s rise 3 fall 2
server server2.example.com server2.example.com:80 backup weight 1 check port 80 inter 5s rise 3 fall 2
但是,这并没有完成您想要的第二部分:它将在返回时再次开始使用A SA。我不确定是否有使haproxy表现出您想要的方式的选项。我至少从未使用过它。