使用 ASP.NET InProc 會話對 IIS 伺服器進行負載平衡

使用 ASP.NET InProc 會話對 IIS 伺服器進行負載平衡

是否有人使用 InProc 工作階段在具有 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

相關內容