2
我有三個分層的.NET Web應用程序在Web層(共4個Web服務器)和另一個負載F5負載平衡器(粘性會話)前面的Web負載平衡器會話)在Web層和應用程序層之間(總共4個應用程序服務器)。底層數據庫是集羣的。.NET Web應用程序和負載平衡器
問題
通過使用Web層和應用層之間的負載均衡器,這是管理會話狀態的唯一途徑?
如果您只在Web層前使用F5負載平衡器,那麼將使用什麼機制來處理會話狀態到應用層?
我有三個分層的.NET Web應用程序在Web層(共4個Web服務器)和另一個負載F5負載平衡器(粘性會話)前面的Web負載平衡器會話)在Web層和應用程序層之間(總共4個應用程序服務器)。底層數據庫是集羣的。.NET Web應用程序和負載平衡器
問題
通過使用Web層和應用層之間的負載均衡器,這是管理會話狀態的唯一途徑?
如果您只在Web層前使用F5負載平衡器,那麼將使用什麼機制來處理會話狀態到應用層?
如果您不想在負載平衡器級別使用粘性會話,則可以使用2個標準選項來進行會話狀態管理。
配置與狀態服務器模式的應用程序,您可以配置一臺服務器來運行會話狀態的服務,和所有的應用程序配置爲指向該服務器。所以狀態被存儲在一臺服務器的內存中。
<configuration>
<system.web>
<sessionState mode="StateServer"
stateConnectionString="tcpip=SampleStateServer:42424"
cookieless="false"
timeout="20"/>
</system.web>
</configuration>
另一個選項是使用SQL Server模式配置您的應用程序。狀態存儲在SQL數據庫中。這是最安全的選擇,因爲會話狀態是持久的。
<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString="Integrated Security=SSPI;data
source=SampleSqlServer;" />
</system.web>
</configuration>