我有第4层Haproxy设置,其中三个服务器配置如下:
listen db_rw
bind *:3306
log global
mode tcp
option tcpka
default-server port 9200 inter 2s downinter 5s rise 3 fall 2 slowstart 60s maxconn 1024 weight 100
server server1 192.168.0.101:3306 check
server server2 192.168.0.102:3306 check backup
server server3 192.168.0.103:3306 check backup
在这里,服务器1总是启动的,因为其他服务器配置为备份,直到服务器1关闭;但当服务器1关闭时,它将在服务器1关闭后向其他两个服务器2、3发送请求;
我的意图是,当服务器1关闭时;请求应转发到服务器2;当服务器2停机时,则仅向服务器3发送请求;我正在使用listen;
谁能告诉我如何完成这个任务吗;我认为使用acl和*srv_is_up*是可能的;
我认为你已经做对了,看看这篇文章:使用haproxy 进行故障切换和最坏情况管理
它似乎只会使用一个备份,直到依次出现故障。如果你想同时使用两者,你需要在后端中指定option allbackups