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

时间:2013-06-09 03:30:17

标签: tcp load-balancing publish-subscribe failover haproxy

问题

当主要主机在关闭后可用时,是否可以通过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已修复并再次活着
  • Cprimary相关联,并发布B未收到
  • Dprimary相关联,订阅但未获得A的消息

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

1 个答案:

答案 0 :(得分:3)

我知道这是一个较旧的问题,你现在可能已经找到了解决方案,但如果你还没有,那么我认为你要找的答案是on-marked-up服务器选项。这是1.5版本的新服务器选项。

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

  

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

server primary ... on-marked-up shutdown-backup-sessions