我有一项服务,它通过 consul 和 fabio 在不同的端口上发布各个服务。我有一对这样的 fabio 内部负载均衡器。它们都具有完整的有效开放规则集。这将是 1024-49151 的某个子集。可能是随机分布的。我希望我的外部 LB 将传入端口转发到任一节点上的内部端口。根据需要重写数据包。理想情况下,它会检测内部节点的故障并确保流量仅流向已启动的节点。我不需要负载平衡,我需要故障转移。由于 AWS 中的 NLB 不会执行范围,并且您需要按规则数量和流量付费,所以我感觉我在集群中被困在 HAProxy 中了。
外部 IP HA 代理 1 -> Fabio 节点 -> / Nomad 容器冷 HA 代理 2 -> Fabio 节点 --/
我猜我需要在 fabio 节点上检查健康端口,或者我想我可以使用 ping。
我知道这种用例并不常见,但是我们确实会在每个端口提供不同的服务,并且如果一切进展顺利的话,我们完全可以预料到必须转到第二组端口。
希望能得到关于 HAProxy 配置的建议。以及关于此解决方案有效性的任何意见。
另一个答案是尝试在 fabio 节点上进行 IP 故障转移。但目前我找不到任何人这样做的例子。