Skip to main content

灰度发布流程管理(表级)

引言

本文介绍基于 表级版本管理 的灰度发布流程。

准备工作

灰度概念介绍

  • 每个版本的灰度流程,支持设置多阶段,每个阶段支持设置不同的规则进行匹配。 image.png#400px

多阶段

image.png#400px 灰度的每个阶段,支持:

  • 直接转全量发布
  • 撤下灰度版本
  • 继续发布,表示扭转到下一灰度阶段

灰度规则配置

平台的灰度规则配置十分灵活,支持多种条件配置,包括:含有、不含有、正则匹配、等于、不等于、存在于集合中、大于、小于、数值等于、数值不等于、摸运算分桶、版本号满足规则、匹配IP规则、不匹配IP规则、匹配容器名规则、不匹配容器名规则等。

以下举例一些灰度规则的配置:

  • 指定服务器灰度 image.png#500px

  • 指定用户比例灰度 image.png#500px

  • 白名单用户验证 image.png#500px

  • 更多复杂的灰度规则配置(支持任意逻辑组合) image.png#500px

  • 支持把灰度规则设置为模版,也支持指定某个表的固定灰度策略。具体设置入口: 配置列表页 > 右上角更多 > 发布策略 image.png#300px image.png#500px

多个灰度版本

  • 一个平台表支持多个灰度版本同时存在。接口会按照最先命中的灰度条件进行版本匹配。如需限制灰度版本的数量,请在 表配置 > 版本管理 > 灰度设置 > 开启灰度状态 > 最大灰度数 中进行限制。 image.png#500px

灰度如何与接口联动

  • 直接使用高性能灰度接口,带/switch标识,入口如下:数据列表页 > 右上角更多 > 获取数据接口 > 灰度接口 image.png#300pximage.png#400px

需要配合传入你的灰度条件,举个例子,假设灰度规则是 “ptag=baidu,并且cid=mzc002009pva8r2”就命中16这个版本。 image.png#500px image.png#500px

调用接口时,传入当前的ptag和cid参数到接口,如ptag和cid的条件匹配,则会匹配到版本16的数据,不匹配则会往下匹配其它灰度版本,都不匹配会兜底到全量版本数据。

# GET请求
http://YOUR_HOST/api/private/switch/object?ptag={YOUR_PTAG}&cid={YOUR_CID}&appid={YOUR_APPID}&schemaid={YOUR_SCHEMAID}&schemakey={YOUR_SCHEMAKEY}