我的haproxy配置是这样的:
backend my-liveBackend
timeout connect 5s
timeout server 600s
mode http
balance uri len 52
server my-live-backend1 10.80.1.161:8080 check
server my-live-backend2 10.80.1.162:8080 check
server my-live-backend3 10.80.1.163:8080 check
server my-live-backend4 10.80.1.164:8080 check
server my-live-backend5 10.80.10.165:8080 check backup
server my-live-backend6 10.80.10.166:8080 check backup
server my-live-backend7 10.80.10.167:8080 check backup
server my-live-backend8 10.80.10.168:8080 check backup
当非备份服务器发生故障时,haproxy 不会激活备份服务器来替代它:
我了解 haproxy 仅在所有非备份失败时才会激活备份:
https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#5.2-backup
当服务器线路上存在“备份”时,该服务器仅在所有其他非备份服务器不可用时用于负载平衡。
我们实际上需要一堆活动服务器(最好是 4 台),并在对活动服务器进行维护时将一些服务器作为备份。有没有一个选项可以做到这一点?有点像“我希望至少有 4 个服务器始终处于活动状态”。
我在文档中找不到任何可以做到这一点的内容。
我的期望是这样的:
- 直播1上
- live2 下
- 直播3UP
- 直播4 UP
- live5 BACKUP UP ACTIVE <<== 替换 2,而 2 正在维护
- live6 备份未激活
- live7 备份未激活
- live8 备份未激活
答案1
好吧,我起身去找 haproxy 维护者,他回复说:它在路线图上,但没有预计到达时间,这是一个复杂的代码更改。
看这里:https://github.com/haproxy/haproxy/issues/866#issuecomment-776658824