是否有人使用 InProc Sessions 在装有 ASP.NET 应用程序的 Win 2003 服务器上配置了 IIS 6.0 负载平衡。如何实现?
答案1
如果您使用的是 Windows Server 2003 附带的 NLB 群集,那么您正在寻找关联性设置。如果您将其设置为“单关联性”,则来自一个 IP 地址的通信将始终路由到同一服务器,从而允许客户端访问 InProc 会话状态。有关如何设置它的文档,请访问http://technet.microsoft.com/en-us/library/bb734858.aspx
答案2
我不能说我曾经不使用负载平衡设备就使用 InProc 会话对 IIS 6 服务器进行负载平衡。如果您不能使用某种分布式缓存(例如 SQL Server 或性能更高的自定义缓存),则可能需要在负载平衡设备中设置某种“粘性会话”路由。这允许您将网站分散出去,但对于每个用户,在他们的会话期间,他们会被重复路由到场中的同一台特定服务器。这允许您使用 InProc 会话,但代价相对较小,即无法实现完美的负载平衡。
注意:您可能会在 StackOverflow 的姊妹网站 www.ServerFault.com 上找到此类问题的更好的答案。
答案3
这可以根据您的平衡方式来实现。
许多平衡器允许您指定 cookie 作为其决定将会话引导至何处的方法,但这在很大程度上取决于您使用的硬件/软件平衡器。这是它对您起作用的唯一方法。
答案4
如果您无法将状态管理合并到 ASP.NET 状态服务或 SQL Server 状态数据库,那么最简单的方法就是使用 Windows 的 NLB 配置您的 Web 场。
http://www.west-wind.com/presentations/loadbalancing/networkloadbalancingwindows2003.asp