Answers:
如果您有这么多的负载,需要在两个haproxy实例之间进行负载平衡,那么DNS循环并不是一个坏主意(不过,如果您有此负载,我会感到惊讶)。DNS轮询不会提供良好的故障转移。
在Stack Overflow中,我们用于heartbeat
提供单个虚拟IP,该IP一次仅在一个haproxy主机上处于活动状态(如果关闭,则另一个将接管该IP)。您可以使用心跳在每台计算机上使用IP,然后在两者之间进行DNS轮询。如果一个失败了,那么另一个将拥有这两个IP。
HAProxy在我们的物理服务器上使用大约1-5%的CPU来平衡只有一个的流量Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
。因此,HAProxy通常可以轻松处理大量流量。
-c
,但可能无法捕获诸如绑定配置错误之类的信息。
正如Kyle所说,心跳可用于使两个haproxy服务器充当故障转移对。然而虽然很多人都使用心跳作业,的keepalived就是通过HAProxy的的作者建议。
他概述了haproxy邮件列表中的详细信息:http : //www.formilux.org/archives/haproxy/1003/3259.html
简而言之,它是这样的:
心跳是面向集群的。它确保只有一台服务器可以访问资源(即SAN存储)
keepalived是面向网络的。它确保至少一台服务器具有该IP。
您可能会在这里找到您想要的东西:http : //blog.haproxy.com/2014/01/17/emulating-activepassing-application-clustering-with-haproxy/