灰度发布
灰度发布是一种渐进式版本发布策略,通过将流量按比例分配到不同版本,实现新版本的小范围验证,降低全量发布风险。AgentArts运行时通过访问方式的灰度策略实现版本级别的流量分配。
灰度发布的核心是流量按权重分配。启用灰度策略后,平台将请求按配置的流量比例分发到两个运行时版本:
- 主要版本:当前主要运行的版本,承载大部分流量。
- 次要版本:用于测试新功能或新版本稳定性的版本,承载小部分流量。
流量分配通过Miracle沙箱平台的PolicyItem路由规则实现。每个版本对应一个沙箱模板,平台根据权重比例将请求路由到对应版本的沙箱实例。未配置灰度策略时,所有流量路由到单一目标版本(权重为 1)。
如果运行时配置了会话存储,请谨慎使用同一会话ID进行跨访问方式调用。当灰度路由的版本与会话已激活的沙箱版本不一致时,会导致调用超时。建议在灰度发布验证时使用新的会话ID。
约束与限制
- 灰度策略需至少2个版本才可启用。
- 每个访问方式仅支持配置一组灰度策略(1个主要版本 + 1个次要版本)。
- 主要版本和次要版本不能选择同一版本。
- 流量权重为0-100的整数,且两版本权重之和必须等于100。
- Latest默认访问方式无法配置灰度策略,需创建新的访问方式。
操作步骤
- 准备新版本。
将新版本代码打包为镜像,部署为运行时的新版本(如 v2)。具体操作请参见通过控制台部署中的“编辑智能体运行时”。
- 创建灰度访问方式。
- 登录AgentArts智能体平台。
- 在左侧导航栏选择“托管与运行 > 智能体运行时”。
- 单击运行时名称,进入详情页。
- 在“访问方式”区域,单击"创建访问方式"。
- 开启“灰度策略”开关。
- 选择主要版本和次要版本,配置流量比例(如主要版本 90%,次要版本 10%)。
- 配置完成后单击“确定”。
- 验证新版本。
通过灰度访问方式调用运行时,小比例流量会路由到新版本。观察新版本的运行状态和日志,确认功能正常。
# 调用灰度访问方式(流量按比例分配) POST https://{域名}/runtimes/{runtime_name}/invocations?endpoint=gray-release Headers: X-Hw-Agentarts-Session-Id: new-session-id Body: {"message": "测试新版本功能"}
建议使用新的会话ID进行灰度验证,避免与会话存储路由冲突。
- 逐步扩大流量。
如新版本运行正常,逐步调大次要版本的流量比例:
- 第一阶段:主要版本 90% → 次要版本 10%
- 第二阶段:主要版本 70% → 次要版本 30%
- 第三阶段:主要版本 50% → 次要版本 50%
- 第四阶段:主要版本 20% → 次要版本 80%
每个阶段持续观察运行状态、日志和监控指标。
- 全量切换。
确认新版本稳定后,将主要版本切换为新版本,参考2将主要版本流量设为100%,完成灰度发布。