我可以仅使用 2 台服务器通过 ldirectord 实现 HA 负载平衡吗?

我可以仅使用 2 台服务器通过 ldirectord 实现 HA 负载平衡吗?

我设法通过收集以下信息,建立了一个具有虚拟 IP 地址和 ldirectord 虚拟实例的起搏器心跳集群:这里这里这里。看来正确的使用方法ldirectord是在两台 apache 服务器前面放置两台负载平衡服务器,然后做一些 arp 技巧让 apache 服务器响应虚拟 IP。

根据这篇博文(从“传统方式”开始),这些 arp 技巧在双服务器设置中不起作用,并且可能导致无限循环。然后他提出了一些解决方案,我并不完全理解,但这些解决方案是针对 keepalived 的。

所以我的问题是:是否可以使用集群 ldirectord 在同一两台服务器上的 apache 实例之间进行负载平衡?就像这张照片

答案1

Keepalived 是一个与 heartbeat 不同的项目。

我通常使用 heartbeat 来实现高可用性。对于 heartbeat,您可以定义一台机器一次拥有的资源。VIP 是可以从一台机器“移动”到另一台机器的资源之一。据我所知,heartbeat 包不提供负载平衡。要实现负载平衡,我可以使用另一个包,例如 haproxy。

是的,可以使用相同的两台服务器充当负载平衡器和 Web 服务器。

答案2

使用 keepalived。

它是目前首选的软件,ldirectord 已经有好几年没有维护了。

是的,可以运行双节点设置。

然而每一个真实的集群至少需要三个节点。

相关内容