负载平衡的 IIS。我应该使用 NLB,还是基于 linux 的反向代理,或者其他什么?

gro*_*wse 6 iis load-balancing nlb haproxy

对至少 2-3 个运行大量 .NET 应用程序的 Windows 2008 R2 IIS Web 服务器进行负载平衡的最佳方法是什么?我的选择似乎是:

1) 基于硬件的网络设备负载平衡器,如 Cisco CSS
2) Windows NLB
3) 某种基于 linux 的代理,haproxy 或其他

这三台服务器作为 vSphere 场上的虚拟机,因此我能够在高负载时进行克隆以增加实例数。我控制插入 vSphere 主机的交换机(Cisco 3750),但不控制除此之外到客户端的交换/路由基础设施。

(1) 太贵了,可能对我的需求来说太过分了。我已经包含了这个,以防有人想出一种巧妙的方法在我现有的网络工具包上做到这一点,我对此表示怀疑。

(2) 似乎是明显的“内置”选项,但似乎对网络接口、多播和其他似乎不必要地复杂的东西相当繁琐。这也相当愚蠢,因为如果主机开始抛出 500 个错误或出现其他错误,它无法从池中删除主机

(3) 是最有趣的选项,因为它似乎提供了最大的灵活性和可定制性,而不必与网络打交道。但是,虽然我熟悉 lighttpd 等的反向代理功能,但我对其他选项(如 HAProxy)的了解并不多,它可能提供更多功能。

你会去哪个,有什么我没有想到的吗?

Kyl*_*ndt 10

在 Stackoverflow,我们使用 HAProxy 来平衡我们的 Windows Server 2008 R2 IIS 7 Web 服务器,并取得了巨大的成功。我们喜欢 HAProxy 并发现它非常灵活。