.NET Web应用程序和负载均衡器

时间:2011-12-02 01:42:25

标签: .net load web load-balancing

我在Web层(总共4个Web服务器)和Web层之间的另一个负载F5负载均衡器(粘性会话)前面有三个分层的.NET Web应用程序和F5负载均衡器(粘性会话)应用程序层(共4个应用程序服务器)。底层数据库是集群的。

问题

通过在Web层和应用程序层之间使用负载均衡器,这是管理会话状态的唯一方法吗?

如果您只在Web层前面使用F5负载均衡器,那么将使用什么机制来处理应用程序层的会话状态?

1 个答案:

答案 0 :(得分:2)

如果您不想在负载均衡器级别使用粘性会话,则可以使用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>