是否需要使用Azure Traffic Manager和会话状态存储进行负载平衡?

时间:2016-04-07 21:45:56

标签: session azure forms-authentication load-balancing azure-traffic-manager

我正在使用Azure流量管理器来负载平衡不同地区的两台服务器。我以为我的会话状态需要一个商店或redis缓存。然而,在测试时,即使我通过测试我所在的服务器回到服务器之间,它似乎也让我保持登录状态。我退出了,我退出了另一个。我存储的唯一会话状态是用户配置文件,但如果找不到它只是去服务器并抓取它。下面是我的表单设置。我真的需要像redis缓存这样的东西吗?

<sessionState timeout="2880" mode="InProc" />
    <authentication mode="Forms">
      <forms loginUrl="/login" path="/" protection="All" domain=".example.com" timeout="2880" slidingExpiration="true" name="_EXPOSURE_" />
    </authentication>

1 个答案:

答案 0 :(得分:2)

只有您可以决定如何设计您的应用,但是......流量管理器根本与会话状态无关。它只是根据所选的路由方法(距离/循环/主要+故障转移)将您的用户流量路由到多个Web端点。

上面的会话状态片段代表InProc,这意味着会话数据在给定VM上的Web服务器内维护。在VM之外共享 。如果您希望跨多个VM(或Web应用程序)共享会话状态,则必须将会话状态存储在Web服务器外部。

您是否使用Redis或SQL数据库或其他内容取决于您。