灰度发布流程管理(表级)
引言
本文介绍基于 表级版本管理 的灰度发布流程。
准备工作
灰度概念介绍
- 每个版本的灰度流程,支持设置多阶段,每个阶段支持设置不同的规则进行匹配。
多阶段
灰度的每个阶段,支持:
- 直接转全量发布
- 撤下灰度版本
- 继续发布,表示扭转到下一灰度阶段
灰度规则配置
平台的灰度规则配置十分灵活,支持多种条件配置,包括:含有、不含有、正则匹配、等于、不等于、存在于集合中、大于、小于、数值等于、数值不等于、摸运算分桶、版本号满足规则、匹配IP规则、不匹配IP规则、匹配容器名规则、不匹配容器名规则等。
以下举例一些灰度规则的配置:
指定服务器灰度
指定用户比例灰度
白名单用户验证
更多复杂的灰度规则配置(支持任意逻辑组合)
支持把灰度规则设置为模版,也支持指定某个表的固定灰度策略。具体设置入口: 配置列表页 > 右上角更多 > 发布策略
多个灰度版本
- 一个平台表支持多个灰度版本同时存在。接口会按照最先命中的灰度条件进行版本匹配。如需限制灰度版本的数量,请在 表配置 > 版本管理 > 灰度设置 > 开启灰度状态 > 最大灰度数 中进行限制。
灰度如何与接口联动
- 直接使用高性能灰度接口,带/switch标识,入口如下:数据列表页 > 右上角更多 > 获取数据接口 > 灰度接口
需要配合传入你的灰度条件,举个例子,假设灰度规则是 “ptag=baidu,并且cid=mzc002009pva8r2”就命中16这个版本。
调用接口时,传入当前的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}