当主要主机在关闭后可用时,是否可以通过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
我为发布和订阅方都建立了长期的连接。
问题在于:
primary
关闭A
连接到backup
并发布B
连接到backup
并订阅primary
已修复并再次活着C
与primary
相关联,并发布但B
未收到 D
与primary
相关联,订阅但未获得A
的消息 我可以看到这个问题的最佳解决方案是当主服务器再次可用时,让haproxy强制关闭与备份主机的所有连接。
答案 0 :(得分:3)
我知道这是一个较旧的问题,你现在可能已经找到了解决方案,但如果你还没有,那么我认为你要找的答案是on-marked-up服务器选项。这是1.5版本的新服务器选项。
根据文档,您可以提供在服务器标记为“up”时执行的操作。目前,唯一的行动是:
shutdown-backup-sessions:所有备份服务器上的关闭会话......
server primary ... on-marked-up shutdown-backup-sessions