在软件负​​载均衡器和硬件负载均衡器之间进行选择

时间:2017-06-12 03:00:37

标签: nginx load-balancing haproxy f5

我想知道是否有人会更喜欢硬件负载均衡器上的软件负载均衡器,反之亦然。我简单介绍了f5,A10,Nginx和HAproxy,除了稍微好一点的API文档等之外,我能注意到的唯一边际差异是价格。

所以我的问题是:
是否有任何特定用例需要软件负载均衡器而不是硬件负载均衡器,反之亦然?

随意引用您的经验,您更喜欢其中一个,以及您过去做出决定的理由。

PS:我看过5 reasons to prefer S/W load balancers over H/W load balancers并且没有找到非常推动的解释。

编辑:关于我的用例,我需要大量的负载平衡器来保护/负载平衡大量的应用程序。因此,设计决策应该是这样的,以便应对其背后的应用数量呈指数增长(应该可以轻松扩展)。我不是在寻找10或50个应用负载均衡器,而是在负载均衡器 s 解决方案背后的数千个应用中。如果你能特别指出在S / W上超过H / W的功能,反之亦然,那就太棒了。例如,使用H / W负载均衡器FPGA服务,可以进行SSL卸载,并且可以实现X性能增益的顺序,因为其背后有超过Y个应用程序等。

2 个答案:

答案 0 :(得分:1)

这个问题不会是单一答案,因为它总是取决于您的申请要求和合规义务。像F5,A10,Citrix这样的公司提供的服务可以很好地扩展到基本负载平衡之后,并提供lb无法触及的功能。

如果你只是在寻找lb服务,也许这里有一些SSL桥接或卸载有一些好处:

  1. 硬件:由于使用FPGA服务,提供硬件加速SSL卸载和批量加密。这还取决于您计划使用的密码套件。使用硬件时,您通常会将它们放在100个应用程序的前面,或者您正在使用它,因为它们可能是经过认证的防火墙,您需要符合其他要求。
  2. 软件:如果您只需要基本的LB,HAProxy / Nginx是基本的lb服务甚至是一些SSL服务的简单选择。如果您不为此付费,则必须依赖社区示例,支持情况参差不齐。
  3. 但是,如果您有混合环境,并且可能已经有1个供应商,那可以帮助您做出决定。所有的硬件供应商都提供虚拟设备,并拥有自动化工具来帮助实现弹性环境,所以它真的最终成为了#34;你是否只需要LB服务,或者你最终还是需要更多地使用它?&#34; < / p>

    云计算中的F5 / A10 / Citrix ADC仍然在单一平台上提供更多功能,而不是提升隔离服务(想想防火墙/负载平衡/ Web防火墙/全局负载平衡/防欺诈/分析/访问管理)。

    更新于6/21/2017:

    硬件:人们购买的硬件解决方案不是代理1或2个应用程序,而是在其数据中心(现场或并置)中代理100或200甚至1000或2000个应用程序。对于这些情况,它涉及到lb以上的性能和服务。它包括HAproxy和Nginx中没有的安全需求和应用程序保护。

    ADC供应商软件解决方案:您有3个选项,因为F5 / A10 / Citrix还销售虚拟设备,允许您在Azure / AWS / Google或VMWare中运行相同的软件....您明白了。这变得独一无二,因为您可以在云端解决方案中使用硬件位置和虚拟设备,以及管理员的相同供应商和奖励,同样的支持升级点。

    HAproxy / Nginx Softare:这可以追溯到最初的声明,如果您只谈论LB解决方案并且价格是一个问题,这是您的方法。这些功能集比上面的ADC /安全解决方案更受限制,但它们只做LB刚才。管理100个应用程序可能会变得有点麻烦,因此您必须更多地依赖您的开发团队来确保他们隔离环境或真正擅长自动化。

    决定归结为你只需要负载均衡器吗?如果是,那么HAproxy / Nginx。如果您需要更多功能来实现负载平衡并保护您的应用,那么ADC软件解决方案就是您的选择。

    如果您需要可靠的性能并且不能证明每个主机专用一个vm来实现它,那么就可以使用硬件ADC了。

    为了保持透明度,我在F5的DevCentral团队工作,所以我很乐意说硬件,但如果你不需要它,就不要这样做。但它将归结为您的应用要求。

答案 1 :(得分:0)

后续问题是您对负载均衡器的应用和要求是什么?

通常,硬件LB具有固定的性能和硬件加速,以协助SSL卸载。软件或虚拟性能可能会随着负载的增加而波动,然后您可能会遇到性能问题,但部署和扩展更容易。

需要考虑的其他问题是,您是否需要根据内容修改或重定向流量?例如,重写或过滤流量?如果是,那么您可能需要一个完整的代理LB。