Azure 容器应用中的会话亲和性

会话亲和性,也称为粘性会话,是一种允许你将来自客户端的所有请求路由到同一副本的功能。 此功能适用于需要与同一副本建立一致连接的有状态应用程序。

会话粘性是使用 HTTP Cookie 强制实现的。 启用 HTTP 入口时,此功能在单一修订模式下可用。 如果上一副本不再可用,则客户端可能会路由到新的副本。

如果应用不需要会话亲和性,建议不要启用它。 禁用会话亲和性后,入口会在副本之间更均匀地分配请求,从而提高应用的性能。

注释

只有当应用处于单一修订模式且入口类型为 HTTP 时,才支持会话亲和性。

配置会话亲和性

通过在 affinity 配置部分设置 ingress.stickySessions 属性来配置会话亲和性。 以下示例演示如何为容器应用配置会话亲和性:

{
  ...
  "configuration": {
      "ingress": {
          "external": true,
          "targetPort": 80,
          "transport": "auto",
          "stickySessions": {
              "affinity": "sticky"
          }
      }
  }
}

可以在通过 Azure 门户创建容器应用时启用会话亲和性。 若要启用会话亲和性,请执行以下操作:

  1. 从 Azure 门户 主页开始,在顶部搜索栏中搜索 容器应用 。

  2. 在搜索结果中选择 容器应用 ,然后选择“ 创建 ”按钮。

  3. 在 “基本信息 ”和“ 容器 ”选项卡中,提供每个部分中的所有必需值,然后选择 “入口 ”选项卡。

  4. 在 “应用程序入口设置” 部分中,将 入口 设置为 “已启用”。 启用后, 会话关联 设置将变为可用。

  5. 对于 会话相关性 ,请选择“ 已启用”。

“创建容器应用”页面中的会话亲和性设置的屏幕截图。

还可以在创建容器应用后启用或禁用会话亲和性。 若要启用会话亲和性,请执行以下操作:

  1. 在门户中转到你的应用。
  2. 选择“入口”。
  3. 可以通过选择或取消选择“启用”来启用或禁用“会话亲和性”。
  4. 选择“保存”。

“入口”页面上会话亲和性会话的屏幕截图。

后续步骤