如果成本不是问题,与硬件相比,为Webstream量部署软件负载平衡器会有什么好处吗?
“硬件”和“软件”负载平衡器之间的区别不再有意义。 一个所谓的“硬件”负载平衡器是一个PC类的CPU,具有数据包处理能力的networking接口,以及一些软件将它们绑定在一起。 在具有现代NIC的良好服务器上实现的“软件”负载平衡器是一样的。
用F5或Citrix Netscaler等高端商业产品获得的是:
使用(开源)软件负载平衡器是不会得到相反的结果,取决于您select的软件以及如何去做。 这就是说,通常你会看到:
差异化不是真正的“硬件”而是“软件”。 它是“购买一个成熟的技术堆栈作为一个设备”,而不是“自己构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所需的应用服务器的总数量: