是否可以建立两个同时的 keepalived VIP 以允许 HAProxy 通过 DNS 循环实现负载平衡 HA?

是否可以建立两个同时的 keepalived VIP 以允许 HAProxy 通过 DNS 循环实现负载平衡 HA?

我目前正在研究将 HAProxy 用作负载均衡器。我发现 HAProxy 本身(而非后端)的 HA 推荐配置涉及使用 keepalived 来建立两个系统都响应的 VIP。这意味着当主服务器在网络上停止活动时,被动 HAProxy 会发送免费 ARP 消息并指示网络将该 VIP 的所有流量发送给它。

这看起来是个不错的解决方案,但它会阻止 HAProxies 的主动-主动负载平衡设置。我很好奇是否有任何方法可以让两个 HAProxies 响应流量并在其中一个发生故障时保持合理的正常运行时间。由 HAProxies 管理的两个 VIP 之间的 DNS 轮询(具有相反的主服务器)似乎是一个合理的解决方案,但我还没有找到任何关于 keepalived 是否可以在一个系统上同时支持两个 VIP 的指导。

糟糕的 MSPaint 图表来说明:

建议设置示例

这可能吗?这是一个合理的解决方案吗?您是否见过其他可行的替代解决方案?


编辑: 发帖后我发现了以下内容,表明这是可行的,但建议使用 CLUSTERIP 作为替代方案。我不确定 CLUSTERIP 和 HAProxy 之间的兼容性。

相关内容