如何在HAProxy Peers之间自动切换

时间:2017-06-06 03:29:17

标签: docker load-balancing haproxy

我有两个HAProxy实例/对等项。我希望如果一个人关闭,应用程序开始使用其他。

这是haproxy.cfg

的相关部分
backend haproxy_http
    stick-table type ip size 20k peers hapeers
    stick on src
    balance roundrobin
    option tcp-check
    server n1 someIP check port 80
    server n2 someIP2 check port 80

peers hapeers
   peer ha1 haproxyIP1:1024
   peer ha2 haproxyIP2:1024

有两个HAProxy实例作为两个差异容器/ docker-services 运行。

在单个实例上,我的应用程序刚刚连接到唯一的HAProxy服务器显示的端口。在两个实例中,我不知道如何自动切换到其他实例,因为我现在有两个端口(一个由HAProxy1显示,另一个由HAProxy2显示)。

类似的东西:

  • 尝试连接到HAProxy1。
  • HAProxy1已关闭;连接到HAProxy 2。

1 个答案:

答案 0 :(得分:0)

您需要使用keepalived之类的服务来实现故障转移。关于" peer"的使用,根据haproxy手册:

" 在软重启期间,旧实例使用本地对等体来连接新实例并启动完整复制(教学过程)。 "

这不是故障转移,而是软重启。

来源:http://cbonte.github.io/haproxy-dconv/1.5/configuration.html#3.5