我在试图弄清下面devise的技术细节时遇到一些麻烦; 特别是在冗余负载均衡器领域。
Web服务器运行Windows Server 2003 R2 64并通过IIS提供.NET应用程序。 数据库服务器在具有SQL Server 2008的SQL Server故障转移群集中运行Windows Server 2008 Enterprise 64.目前有两台Web服务器和两台数据库服务器。
我期望完成的是:
我曾经尝试过:
该devise:

那么,考虑到以上所有,Microsoft NLB是唯一的答案吗? 还是有更好的工具可用于我们的情况?
编辑4/21/11
感谢您的快速反馈。 只是为了澄清几点:
你想要什么叫微软应用程序请求路由2(ARR )。 (也许这个笨拙的名字是为什么很less有人知道它的存在的一部分?)
Microsoft ARR是免费的HTTP层负载平衡器,作为IIS 7+的模块实现。 (ARR本身是免费的,但Windows Server许可证当然是底层操作系统所必需的。)
由于ARR只是IIS之上的一个小薄片,所以它非常快速且绝对健壮。 pipe理ARR对你们来说是熟悉的,因为你已经是一个IIS商店了。 ARR只是安装在IISpipe理器GUI中。
对于真正的高可用性设置,您应该结合NLB和ARR ,以便NLB保持ARR服务器层高度可用,并且ARR保持后端Web服务器层高度可用。 请参阅Microsoft的文档,并在顶部链接的ARR概述页末尾查看文档的详细列表。
ARR唯一真正的缺点是如果你真正实现高可用性,那么你将需要至less2个Windows Server许可证和物理服务器。 鉴于此,考虑到设置所花费的时间,那么Coyote Point或loadbalancer.org等低端负载均衡设备有时可以成为一种经济高效的替代scheme(Or Kemp,Barracuda Networks或任何其他低端供应商)。
无需中断用户即可将Web服务器无缝地从负载平衡组合中进行维护。
这将取决于如何处理会话状态,即您的后端服务器如何共享或不共享“此用户已login”信息。
如果web应用程序层是无状态的(即将会话状态放置在共享数据存储区,fx共享RAMcaching区或MSSQL),则可以将服务器拉出池。 如果不是,则可以在负载平衡器上使用“粘性会话”,并从负载平衡器池中移除后端服务器,然后等待所有用户“closures”有问题的服务器。
HAProxy的作者Willy Tarreau对这里的负载均衡技术和问题有了很好的概述 。
如果您的商店已经设置为仅限于Microsoft的解决scheme,则其ForeFront威胁pipe理网关具有“服务器场”function,可以进行一些负载平衡( 链接 )。 它不像专门的硬件负载均衡器那样具有特色,也可以像Linux堆栈软件一样可configuration,但是它可以帮助您解决某些使用案例。 重要的是,它可能会在你的微软合同价格表上。
TMG可以通过NLB进行负载均衡。
即使某个特定的答案是“好的”答案,如果你是组织中唯一一个不害怕login的人,你将永远拥有它。 而其他人都会责怪可怕的外国装置,包括因缺水而死亡的棕色植物。
我发现monoglot系统pipe理员不像web gui中的东西那么吓人。 (不需要告诉他们运行的Linux内核)。 那么像F5,Brocade / Foundry ServerIron,Cisco CSS,CoyotePoint等商用设备呢? 我们使用一对ServerIron高可用性对,过去我使用过CSS / Arrowpoints。
一个旧的解决scheme仍然是销售共鸣中央调度,这是你想做的。 我注意到你没有在你的要求中列出“免费”,所以你已经有了Cisco,F5,Foundry等商业解决scheme,应该可以做你想做的。
我只是忽略你对微软解决scheme的看法,因为在这种情况下没有。 购买硬件盒,或者在vmware ESXi上运行虚拟机。 我们使用后者,虚拟KEMP负载平衡器。
梭子鱼使function完整和易于使用的硬件负载平衡器添加到列表中。