既然防火墙可以做到,为什么还要购买专用的负载均衡器呢?

既然防火墙可以做到,为什么还要购买专用的负载均衡器呢?

我有 2 台服务器,我们称它们为“节点 1”和“节点 2”,它们安装在数据中心。它们运行我们的应用软件。它们可以互换,并且每台服务器都拥有所有客户数据库的完整副本。我们希望客户能够登录到单个 IP 地址,如果节点 1 正常运行,则连接到节点 1,否则连接到节点 2。(与负载平衡相比,自动故障转移更值得我们关注,尽管将来我们可能也会配置负载平衡)。

我们的要求非常简单:我们可以提供一个 URL 来用作健康检查,如果它在“node1”上响应,那么所有流量都应该优先于“node2”去往那里。

数据中心希望我们支付 3000 美元购买专用的负载平衡器设备。但他们还说,他们的防火墙理论上能够实现这种自动故障转移,尽管他们从未让客户使用过该功能。我不明白为什么如此简单的任务需要专用硬件甚至虚拟服务器。为什么任何小公司都不愿意在防火墙中进行负载平衡?它成本更低、跳数更少、复杂性更低……?我对 LTM(本地流量管理)有什么不了解的?

答案1

如果防火墙可以配置为执行此基本任务,则无需专用负载均衡器。您遇到的问题是托管服务的专业知识。他们以 X 方式做到这一点,因为这是最有效地利用其资源的方式。他们可能没有专业知识,正如所说,他们肯定没有经验来设置它,更重要的是,他们没有经济地支持它。仅供比较,考虑一下 AWS ELB,每月 19 美元即可平衡、检查健康并路由流量。它还可以为您完全解压 SSL。您完全不必担心应用程序服务器上的 SSL。

(就我个人而言,如果您有两台服务器,无论如何我都会在它们之间使用粘性负载平衡)。

答案2

我不认为防火墙会提供您所描述的故障转移,尽管您已经描述了这些。通常,防火墙仅查看流量并决定是否应该通过。它们旨在快速分析大量流量(每秒数十亿个以太网帧),并且可能不会查看 TCP/UDP 标头。如果防火墙提供故障转移,它可能更原始,仅检查 MAC 地址或 IP 是否可访问。 或许TCP 端口是否开放。

当然,如果防火墙确实如您所述,那么它就不是纯粹的防火墙,可能会影响性能。它是否也执行 NAT 或充当路由网关,还是仅仅是桥梁?您根本没有提到性能,所以如果您不关心性能,并且您的防火墙可以进行故障转移,那么当然,既然您的需求可以免费满足,为什么还要花 3000 美元呢?

如果您发现此防火墙无法按您的要求进行故障转移,您可以考虑引入可以实现故障转移的网关或网桥,但您需要为此支付另一台机器的费用。(如果您需要性能,请花 3000 美元购买专用负载平衡器。)您可以引入一台带有 haproxy 的机器,正如 JayMcTee 在评论中所建议的那样。但如果这台额外的机器发生故障怎么办?防火墙已经是单点故障,您真的想再引入一个吗?基于 DNS 的故障转移(如 Route 53)(再次由 JayMcTee 建议)将有助于消除额外的单点故障,但故障转移中会出现 [可配置的] 延迟。

确实需要更多有关您的需求的信息才能做出正确的选择。

相关内容