我即将研究 Windows Server 2003 上的 NLB。它现在归档了我的两个兴趣:可伸缩性和高可用性。但我不知道它在生产环境中的威力。
NLB 是一种有效的解决方案吗?
它在现实世界中是如何实现的?它受欢迎吗?
它的极限是多少?
非常感谢您回答我的问题。:)
我即将研究 Windows Server 2003 上的 NLB。它现在归档了我的两个兴趣:可伸缩性和高可用性。但我不知道它在生产环境中的威力。
NLB 是一种有效的解决方案吗?
它在现实世界中是如何实现的?它受欢迎吗?
它的极限是多少?
非常感谢您回答我的问题。:)
NLB 是一种相当有效的解决方案,但它也有其局限性。IT 仅在单个数据中心工作,因此您最好确保那里没有问题 - 或多个 NLB 集群。NLB 可扩展性限制在文档中 - 我认为它大约是 32 台计算机。如果您没有前端负载均衡器(例如前面的路由器),这是一个很好的解决方案。这绝对比 DNS 循环法更好,后者一方面对计算机利用率一无所知,另一方面计算机停机进行维护。
NLB 不会解决固有的可扩展性问题,但它会尝试(并且做得不错)平衡到不同计算机的传入连接。
它受欢迎吗?没那么多。主要原因是许多高端路由器已经具有负载平衡功能,并且人们以某种方式寻求硬件。它不受欢迎吗?不,它没有被更广泛地使用是一种耻辱吗?是的。这确实是一项不错的技术。
顺便说一句,升级到 2008 R2 - 无论如何,您的许可证都涵盖了(除非您购买了许可证,那么您就是 - 浪费,因为它们不适用于服务提供商并且比与 Microsoft 签订的每月 SPLA 租赁协议更贵...... Web 服务器每月大约 15 美元的处理器许可证,顺便说一句。)。
实现 NLB 的方法有很多种,它不是万能的,实际上取决于您使用的服务和应用程序。
扩展是许多大型互联网应用程序的关键。您可能会发现 facebook 工程师的这次谈话很有趣。http://fosdem.org/2010/schedule/events/scalingfacebook
有时使用开源工具进行集群更具成本效益,每台服务器的许可费可能会削弱初创公司。甚至不要问 200 万用户的客户端访问许可证将花费您多少费用 ;-)。
如果您可以确定瓶颈在哪里,您就可以集中精力首先解决这些瓶颈以获得最大收益。例如,如果所有连接都转到一个过载且 i/o 绑定的 mysql 实例,则无法很好地扩展您的前端 http 服务。