【问题标题】:Azure Web App ARR Affinity Token ScenariosAzure Web App ARR Affinity Token 场景
【发布时间】:2020-05-09 22:36:36
【问题描述】:

我有一个在 Azure Web App 上运行的应用程序,该应用程序跨多个实例横向扩展。因为我们是自托管 SignalR(我知道,我知道……),所以我们必须设置 ARR Affinity 令牌。

我不确定在以下情况下使用 ARR Affinity 设置的请求路由是如何完成的:

  1. 插槽交换 - 在插槽交换中,服务器关联性是否保持不变,请求将在插槽交换后路由到同一服务器,还是所有 ARR 会话都被丢弃并且这是一个新分配?
  2. 缩减 - 如果我们删除 Web 应用实例,某些 ARR 映射将不再有效。这些是 NLB 重新分配的吗?

我只是自己测试一下,但我不知道如何可靠地执行测试,因为据我所知,没有确定的方法可以查看您所在的服务器实例。感谢您对这些问题的任何答案或有关如何执行此测试的建议。

【问题讨论】:

    标签: azure azure-web-app-service


    【解决方案1】:

    关于槽交换,工作角色槽在同一个实例上运行。由于 AARAffinity cookie 对正在运行的实例有一个值,因此您的会话仍将被正确路由并保持状态。

    向外/向内扩展将有所不同,因为该过程确实引入了一个新实例。缩减后,该实例在 AARAffinity cookie 中将不再有效。因此该会话将被抛出,新的会话将从剩余的实例开始。

    这就是 SignalR 服务,让你...会话状态存储在 Redis 背板上以保持连接弹性,并且不需要 sticky sessionThis 可能有助于解决有关 SignalR 如何使用状态和一些解决方法的一些问题。

    【讨论】:

    • 我很遗憾我只有一个赞成票给你。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    相关资源
    最近更新 更多