主要回来时,Haproxy会关闭与备份主机的连接

Nic*_*ick 5 failover tcp load-balancing haproxy publish-subscribe

当主要主机在关闭后可用时,是否可以通过haproxy关闭与备份主机的所有连接?

上下文

我正在使用HAproxy为pubsub进行故障转移.

haproxy后端配置看起来像这样:

listen pubsub 0.0.0.0:1234
    mode tcp

    server primary primary.x.com:1234 weight 1 inter 500 rise 10 fall 5 check
    server backup backup.x.com:1234 weight 1 inter 500 rise 10 fall 5 check backup
Run Code Online (Sandbox Code Playgroud)

我为发布和订阅方都建立了长期的连接.

问题出现在以下情况中:

  • primary 下跌降落
  • A连接backup和发布
  • B连接backup和订阅
  • primary 固定,再次活着
  • C连接primary并发布但未B收到它
  • D连接primary和订阅但不获取A消息

我能看到的这个问题的最佳解决方案是当主服务器再次可用时,让haproxy强制关闭与备份主机的所有连接.

Ant*_*ino 5

我知道这是一个较老的问题,您现在可能已经找到了解决方案,但如果您还没有找到,那么我认为您正在寻找的答案是标记的服务器选项。这是 1.5 版中的新服务器选项。

根据文档,您可以提供在服务器标记为“运行”时要执行的操作。目前,唯一的行动是:

shutdown-backup-sessions:关闭所有备份服务器上的会话...

server primary ... on-marked-up shutdown-backup-sessions
Run Code Online (Sandbox Code Playgroud)