网络负载平衡、效率和限制?

网络负载平衡、效率和限制?

我即将研究 Windows Server 2003 上的 NLB。它满足了我现在的两个兴趣:可扩展性和高可用性。但我不知道它在生产环境中的威力。

  • NLB 是一种有效的解决方案吗?

    它在实际中如何实现?它流行吗?

    它的极限是什么?

非常感谢您回答我的问题。:)

答案1

NLB 是一种相当有效的解决方案,但它也有局限性。它只适用于单个数据中心,所以你最好确保那里没有问题——或者多个 NLB 集群。NLB 可扩展性限制在文档中——我认为大约是 32 台计算机。如果你没有前端负载平衡器(比如前面的路由器),这是一个很好的解决方案。它绝对比 DNS 轮询更好,因为 DNS 轮询一方面不考虑计算机利用率,另一方面考虑计算机停机维护。

NLB 不会解决固有的可扩展性问题,但它会尝试(并且做得不错)平衡到不同计算机的传入连接。

它流行吗? 不怎么流行。 主要原因是许多高端路由器已经具备负载平衡功能,而人们却偏向于硬件。 它不流行吗? 不流行。 它没有得到更广泛的使用是一种遗憾吗? 是的。 它确实是一项不错的技术。

顺便说一句,升级到 2008 R2 - 您的许可证无论如何都涵盖了这一点(除非您购买了许可证,否则您就浪费了,因为它们不适用于服务提供商,并且比与微软签订的每月 SPLA 租赁协议更昂贵.... 顺便说一下,一个网络服务器每月的处理器许可证费用约为 15 美元)。

答案2

实现 NLB 的方法有很多种,并没有一种适合所有情况的方法,而是真正取决于您使用的服务和应用程序。

扩展是许多大型互联网应用程序的关键。您可能会发现 Facebook 工程师的这个演讲很有趣。http://fosdem.org/2010/schedule/events/scalingfacebook

有时使用开源工具进行集群更具成本效益,每台服务器的许可费用可能会让初创公司陷入困境。甚至不要问 200 万用户客户端访问许可证要花多少钱 ;-)。

如果你能确定你的瓶颈在哪里,那么你可以集中精力首先解决这些问题,以获得最大的收益。如果所有连接都转到过载且 I/O 受限的 mysql 实例,那么扩展前端 http 服务就毫无意义。

相关内容