灰度流量
灰度流量功能可以让你使用一小部分流量安全地测试新的上游,同时将大部分流量保持在默认上游。
备注
- 灰度流量不同于灰度发布,因为 API/服务的版本保持不变。灰度发布指的是同一个 API/服务同时有两个版本都在运行并可被调用。
前提条件
按百分比切分流量
在这个示例中,你将把 10% 的流量引导到一个新的上游。其余 90% 将继续转发到默认上游。测试新的上游后,请考虑使用新值重写默认上游配置,并删除插件以停止灰度过程。
- 控制台
- ADC
- 从侧边导航栏中选择网关组的 已发布服务,然后单击要修改的服务,例如版本为
1.0.0的httpbin。 - 在已发布服务下,从侧边导航栏中选择 上游。
- 在 连接配置 模块中,单击 编辑,选择
使用节点主机,然后单击 保存。注意:由于
mock.api7.ai强制执行 HTTPS 访问,因此上游需要配置为使用端口443才能访问 HTTPS 端点。请根据您的使用情况相应地调整pass_host参数。 - 单击 添加上游。
- 在对话框中,执行以下操作:
- 在 上游名称 字段中,输入
newupstream。 - 单击 添加节点 以调整节点的主机指向新后端。例如,使用
mock.api7.ai作为主机和443作为端口。 - 单击 添加。
- 在 上游名称 字段中,输入
- 单击上游标题(在 操作 按钮下)中的 查看 ID 并复制以供使用。
- 在已发布服务下,从侧边导航栏中选择 插件。
- 单击 新增插件。
- 搜索
traffic-split插件,然后单击 新增。 - 在对话框中,执行以下操作:
-
将以下配置输入到 JSON Editor:
{
"rules": [
{
"weighted_upstreams": [
{
"upstream_id": new_upstream_id, // Use upstream id, not upstream name
"weight": 1
},
{
"weight": 9
}
]
}
]
} -
点击 新增