Haproxy:用备份替换任何活动的故障服务器

Haproxy:用备份替换任何活动的故障服务器

我的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

相关内容