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. 选择“保存”。

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

后续步骤