会话亲和性,也称为粘性会话,是一种允许你将来自客户端的所有请求路由到同一副本的功能。 此功能适用于需要与同一副本建立一致连接的有状态应用程序。
会话粘性是使用 HTTP Cookie 强制实现的。 启用 HTTP 入口时,此功能在单一修订模式下可用。 如果上一副本不再可用,则客户端可能会路由到新的副本。
如果应用不需要会话亲和性,建议不要启用它。 禁用会话亲和性后,入口会在副本之间更均匀地分配请求,从而提高应用的性能。
注意
只有当应用处于单一修订模式且入口类型为 HTTP 时,才支持会话亲和性。
配置会话亲和性
通过在 affinity
配置部分设置 ingress.stickySessions
属性来配置会话亲和性。 以下示例演示如何为容器应用配置会话亲和性:
{
...
"configuration": {
"ingress": {
"external": true,
"targetPort": 80,
"transport": "auto",
"stickySessions": {
"affinity": "sticky"
}
}
}
}
可以在通过 Azure 门户创建容器应用时启用会话亲和性。 若要启用会话亲和性,请执行以下操作:
从 Azure 门户主页开始,在顶部搜索栏中搜索 容器应用 。
在搜索结果中选择 容器应用 ,然后选择“ 创建 ”按钮。
在 “基本信息 ”和“ 容器 ”选项卡中,提供每个部分中的所有必需值,然后选择 “入口 ”选项卡。
在 “应用程序入口设置” 部分中,将 入口 设置为 “已启用”。 启用后, 会话关联 设置将变为可用。
对于 会话相关性 ,请选择“ 已启用”。
还可以在创建容器应用后启用或禁用会话亲和性。 若要启用会话亲和性,请执行以下操作:
- 在门户中转到你的应用。
- 选择“入口”。
- 可以通过选择或取消选择“启用”来启用或禁用“会话亲和性”。
- 选择“保存”。