我已设置 HAProxy 来支持 2 个服务器之间的 TCP 应用程序,以实现高可用性。因此,我已将 HAProxy 配置为将一台服务器作为主服务器,将另一台服务器作为备份服务器。故障转移到备份服务器几乎完美无缺,但是我们目前发现一个问题。
当主服务器发生故障时,客户端的连接将被重置,当客户端尝试重新连接时,它会连接到备份服务器,这是应该的(您可以看到当 A 发生故障时,当前的“Cur”连接如何从后端 A 转到备份后端 B 系统 [蓝色])
问题是,当主服务器恢复在线时,客户端仍保持与备份服务器的连接:
由于应用程序的工作方式,保持与此备份服务器的连接并不理想。当主服务器恢复时,有没有办法关闭与备份服务器的连接?重置该连接将导致客户端重新连接到主服务器并解决我们的问题。
我当前配置(haproxy.cfg)中此部分的块内容如下:
backend ldm_back
server backendA 172.31.xxx.xxx check port 388
server backendB 172.31.yyy.yyy check port 388 backup
答案1
您可能需要较新的 HAProxy 版本,但您可以使用这。