硬件vs软件负载平衡器:只是一个成本问题?

如果成本不是问题,与硬件相比,为Webstream量部署软件负载平衡器会有什么好处吗?

“硬件”和“软件”负载平衡器之间的区别不再有意义。 一个所谓的“硬件”负载平衡器是一个PC类的CPU,具有数据包处理能力的networking接口,以及一些软件将它们绑定在一起。 在具有现代NIC的良好服务器上实现的“软件”负载平衡器是一样的。

用F5或Citrix Netscaler等高端商业产品获得的是:

  • 丰富而深刻的function集。 他们的解决scheme是成熟的,可以快速处理所有常见的需求和一些不常见的。
  • 优秀的统计。 pipe理types爱情统计,networking技术人员认识到统计数据也可以用于故障排除。
  • 单个供应商窒息什么时候不能工作,即直接与解决scheme供应商签订合同。
  • 降低工资成本。 该设备大多只是工作,pipe理一个不需要那么多小时。

使用(开源)软件负载平衡器是不会得到相反的结果,取决于您select的软件以及如何去做。 这就是说,通常你会看到:

  • 更长的时间来设置初始解决scheme。 特别是如果你不仅需要负载均衡,而且还需要更多的工作时间。
  • 你build立它,你拥有它。 如果您的公司使用室内技术设置开源软件负载平衡器,则您自己负责解决scheme。 文档,升级path,灾难恢复等都将需要考虑,并可能由执行。

差异化不是真正的“硬件”而是“软件”。 它是“购买一个成熟的技术堆栈作为一个设备”,而不是“自己构build”。 当然,在做出最终决定时(成本,内部技能,停机容忍,未来增长等),当然还有许多变数需要考虑。

硬件负载平衡器通常具有更丰富的function,特别是当您进入诸如F5之类的大型function时。 由于硬件卸载,您还具有更大的可扩展性。

另一方面,如果您知道您的stream量不会太高,那么软件负载平衡器实际上performance相当好。 如果你可以做一个第4层LB,Linux LVS + Keepalived是一个非常好的select。 如果您需要第7层LB的权力,您可以给HAProxy一个去。

所以总的来说,HW LBs通常比SW LBs缩放得更好。

希望这可以帮助!

一些想法:

Pro:运行负载平衡器的机器可能具有更强大的硬件,所以速度更快,延迟更less(尽pipe取决于与外部链接的速度,这可能没什么区别)。

Con:硬件负载平衡器可能不会有比它所需要的更多的计算能力(例如,它可能运行在基于Atom或ARM的芯片上,而不是一个笨重的高端Intel / AMD CPU),所以会消耗更less的电力,热。

Pro:安装自己的软件负载平衡器安排,可以使您在configuration和稍后升级/更改方面有更大的灵活性,其中硬件解决scheme可能更像是一个封闭的“黑匣子”解决scheme。 虽然如果您购买托pipe服务来实现软件平衡器,这将没有什么区别。

Con:如果你不pipe理软件平衡器(即,任务是外包的,或者你正在购买服务作为更大的托pipe托pipe安排的一部分),你可能会发现维护设置的pipe理费意味着一个现成的硬件从长远来看,解决scheme会更便宜。 此外,如果您或您的公司负责pipe理负载均衡器,请记住将您的时间纳入任何成本计算中。

我也会考虑到这些问题:

如果公司有一个networking专家的IT部门,那么硬件LB可能有助于减less开发团队的维护负担。

有时候,特别是对于大公司来说,采用一种没有人知道如何操作的新硬件,意味着雇用昂贵的顾问,甚至雇佣新的雇员。

如果开发团队计划强调负载平衡器的function,例如采用持续部署,则会讨厌硬件解决scheme。

显然硬件LB可以改善处理SSL连接,并因此减less所需的应用服务器的总数量:

http://highscalability.com/blog/2010/8/12/strategy-terminate-ssl-connections-in-hardware-and-reduce-se.html