
是否有人使用 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