我在web层(总共4个web服务器)前面有三个带有F5负载平衡器(粘性会话)的分层.NET web应用程序,在web层和应用层(总共4个应用程序服务器)之间有另一个load F5负载平衡器(粘性会话)。底层数据库已群集化。
问题
通过在web层和应用层之间使用负载均衡器,这是管理会话状态的唯一方法吗?
如果您只在web层前面使用F5负载均衡器,将使用什么机制来处理应用层的会话状态?
发布于 2011-12-02 14:24:01
如果您不想在负载均衡器级别上使用粘滞会话,则可以使用2个标准选项进行会话状态管理。
See msdn Session-state
使用状态服务器模式配置您的应用程序,您可以配置一台服务器来运行会话状态服务,并且所有应用程序都配置为指向该服务器。因此,状态存储在一台服务器的内存中。
<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>https://stackoverflow.com/questions/8350757
复制相似问题