2012-07-25 70 views
0

我的問題是關於ASP.net會話管理。在當前的Web應用程序中,我們有「粘性會話」(用戶總是重定向到開始與之通話的服務器)。以下是我的問題陳述。跨多個客戶端服務器請求和多個服務器之間共享會話

從我們的客戶之一,有大量的請求打我們的服務器。不知何故,請求從1個或最多2個IP發送。我們有5臺服務器正在運行以滿足這些要求。現在,這裏的問題是,1-2服務器可能會越來越嚴重,而點擊其他服務器可能處於閒置狀態,因爲粘性會話不會允許請求通過serverB上這是最初由serverA的回答進行處理

我們需要什麼正好相反。任何服務器都應該能夠處理傳入的請求,以保持持續的對話。

我已經把我的問題放在非常簡單的話語中。任何指針將不勝感激。

+1

您是否嘗試將會話存儲在數據庫中? http://support.microsoft.com/kb/317604 – 2012-07-25 12:04:12

+0

感謝您的鏈接。我會通過它。 – 2012-07-25 12:06:46

+0

它會自己在服務器之間加載緩存嗎?我的意思是這個功能內置在asp.net會話管理中? – 2012-07-25 12:10:33

回答

0

爲什麼不直接存儲會話狀態on a SQL server

+0

如何完成負載平衡。我必須編程或asp.net將爲我做? – 2012-07-25 12:11:48

+1

您可以使用正常的負載均衡器,但只需禁用粘滯會話即可。這使您的服務器負載分佈均勻,特別適合您的情況。由於您將會話狀態PER REQUEST反序列化並序列化到SQL服務器,因此您需要確定這是否會成爲您設計中難以承受的瓶頸,因此需要一些開銷。 – 2012-07-25 12:15:54

+1

來自msdn要在Web場中使用StateServer模式,必須爲您的Web配置的machineKey元素中指定的所有屬於Web場的所有應用程序指定相同的加密密鑰。 – 2012-07-25 12:17:22

相關問題