边缘安全加速平台 EO 开启会话亲和

这篇档介绍如何在 EdgeOne 边缘推理 中开启并使用会话亲和(Session Affinity),将同一会话的多次请求优先调度到同一个 GPU 实例,复用实例上已缓存的上下面前缀,降低多轮对话、长上下面场景下的首字延迟(TTFT)。

相关产品
边缘安全加速平台 EO 产品页,含版本规格、价格与购买入口。

一、概述

在默认的无状态路由下,同一会话的多次请求可能被分发到不同的 GPU 实例,每轮请求都需要重新计算完整的上下文前缀,在长上下文场景下会带来较高的首字延迟与重复计算成本。

开启会话亲和后,客户端在请求 Header 中携带会话标识(sessionId),平台会将相同 sessionId 的请求优先调度到同一个 GPU 实例,从而复用该实例上已缓存的前缀计算结果。

注意:说明:

注意:会话亲和采用优先调度策略,并非强制绑定。单个实例存在并发上限,当目标实例并发已满时,请求可能会被调度到其他实例,此时无法复用原实例上已缓存的前缀。

二、适用场景

·多轮对话:Chatbot、智能客服等每轮请求都携带完整对话历史的场景。

·长上下文追问:基于同一份长文档进行多次提问,如文档问答、代码分析。

·实时交互:语音对话、实时翻译等对首字延迟敏感的场景。

若你的请求彼此独立、不携带历史上下文,开启会话亲和不会带来收益。

三、使用限制

·当前支持的会话标识来源为 HTTP Header,Header 字段名可在服务配置时指定。

·Header 字段名仅支持字母、数字、中划线,长度 1-64 字符。

·会话亲和为优先调度策略,受单实例并发上限影响,不保证同一会话的全部请求都调度到同一实例。

·未携带会话标识的请求可正常调用,平台按默认策略处理。

四、步骤一:创建服务

1. 登录 EdgeOne 控制台,页面将自动定位至边缘推理,单击创建项目或单击具体的项目名称。

2. 在服务列表页单击创建服务,按页面提示完成基础设置、镜像设置与资源设置。

五、步骤二:配置会话亲和

1. 页面向下滚动至高级设置区块。

2. 打开会话亲和开关。开关下方将展开 Header 字段 输入框。

3. 填写 Header 字段,即客户端请求中用于携带 sessionId 的自定义 HTTP Header 字段名。默认值为 EO-Infer-Session-Id,可按需修改。

4. 单击创建。

六、步骤三:等待部署完成

创建后服务进入部署中状态,可在部署历史页签查看进度。服务状态变为运行中后配置即生效,无需额外重启服务,缩容排空、故障切换等场景由平台自动处理。

七、调用方式

开启会话亲和后,客户端在每次请求的 Header 中携带步骤二配置的 Header 字段,取值为本次会话的唯一标识(sessionId)。同一会话的所有请求使用相同取值,不同会话使用不同取值。

请求参数

参数 位置 类型 必填 说明
EO-Infer-Session-Id Header string 否 会话标识,由客户端生成并保证同一会话内保持一致。字段名以服务配置中的 Header 字段为准

curl 示例:

curl https://YOUR_SERVICE_URL/v1/chat/completions \\ -H "Authorization: Bearer YOUR_API_TOKEN" \\ -H "Content-Type: application/json" \\ -H "EO-Infer-Session-Id: your-session-001" \\ -d '{ "model": "your-model", "messages": [ {"role": "user", "content": "你好"} ], "max_tokens": 256 }'

curl https://YOUR_SERVICE_URL/v1/chat/completions \\ -H "Authorization: Bearer YOUR_API_TOKEN" \\ -H "Content-Type: application/json" \\ -H "EO-Infer-Session-Id: your-session-001" \\ -d '{ "model": "your-model", "messages": [ {"role": "user", "content": "你好"}, {"role": "assistant", "content": "(上一轮返回内容)"}, {"role": "user", "content": "继续追问的内容"} ], "max_tokens": 256 }'

请将示例中的 YOUR_SERVICE_URL、YOUR_API_TOKEN 替换为你在服务详情页基础信息中获取的访问地址与 API Token。

八、常见问题

问题 说明
开启后是否必须每次请求都带 Header 不是必须的。未携带该 Header 的请求可正常调用,平台按默认策略处理
同一 sessionId 的请求一定会调度到同一实例吗 不一定。会话亲和为优先调度策略,当目标实例并发已达上限时,请求会被调度到其他实例
Header 字段名有什么限制 仅支持字母、数字、中划线,长度 1-64 字符,否则保存时校验不通过
sessionId 可以自己定义吗 可以。由客户端生成并保证同一会话内保持一致即可
修改会话亲和配置需要重启服务吗 不需要。保存后随本次部署生效,待服务状态变为运行中即可
赞 (0)
上一篇 4天前
下一篇 4天前