【问题标题】:Load Balancing with Azure Traffic Manager and Session state store necessary?需要使用 Azure 流量管理器和会话状态存储进行负载平衡吗?
【发布时间】:2016-04-07 21:45:56
【问题描述】:

我正在使用 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>

【问题讨论】:

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


    【解决方案1】:

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

    上面的会话状态 sn-p 表示 InProc,这意味着会话数据在给定 VM 上的 Web 服务器内维护。它不在 VM 之外共享。如果您希望在多个虚拟机(或 Web 应用程序)之间共享会话状态,则必须将会话状态存储在 Web 服务器外部。

    您是否使用 Redis、SQL 数据库或其他东西,取决于您。

    【讨论】:

    • 我假设表单会话正在工作,因为我的机器密钥是相同的,并且域名是 cookie 的通配符。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2018-12-20
    相关资源
    最近更新 更多