操作场景
本文介绍如何在 Kong 云原生网关上通过 Kong 流量镜像插件实现下述常见镜像场景:
将生产流量的一定比例镜像到测试后端。
将生产流量镜像到多个测试后端。
前置条件
已购买 Kong 网关实例,详情请参见 实例管理。
配置了后端(Service)以及路由(Route)。
插件说明
插件名称;TSE TRAFFIC MIRROR。
插件分类:Traffic Control。
概述:实现对客户端的请求进行流量镜像,在线流量将被镜像到测试后端,镜像后端返回的响应数据会被自动丢弃,保证镜像后端的测试业务不会影响到线上业务,广泛用于在测试环境中模拟在线流量对新功能进行测试的场景。
具体能力:
支持镜像到 Kong Upstream 或镜像服务地址。
支持根据采样比例镜像:支持配置转发给镜像后端的流量比例。
支持根据请求参数进行镜像:通过将插件配置在 Route 上,匹配到请求参数的请求会进行镜像。
支持镜像到多后端。
插件配置
配置项 | 是否必填 | 配置说明 |
镜像比例 | 是 | 转发到镜像服务的请求比例,支持1-100。 |
后端地址类型 | 是 | 镜像服务类型,支持填写 Host 或 Upstream。 |
后端地址-Host | 否 | 镜像服务地址,需包含 schema(http/https)和 Host 地址,例如 http://127.0.0.1。 |
后端地址-Port | 否 | 镜像服务端口,支持1-65535。 |
后端地址-Upstream | 否 | 镜像服务的 Kong Upstream,需包含 schema(http/https)和 Upstream 名称,例如 http://myupstream。 |
后端地址-Path | 否 | 镜像服务路径,不指定则默认使用当前请求路径。 |
操作步骤
场景一:根据采样比例镜像
1. 登录 Konga 管理控制台,进入需要配置流量镜像的 Service 详情页,单击 Add Plugin 添加插件,在 Traffic Control 分组下选择 TSE TRAFFIC MIRROR 插件。
2. 在本场景中,模拟将线上30%的流量镜像到 Host 类型的测试后端。
3. 在插件中填写以下配置,单击 ADD PLUGIN:
镜像比例:30%
后端地址类型:Host
后端地址:
Host:填写测试服务访问地址,例如 http://example-test-service。
Port:填写测试服务端口。
Path:选填,不填使用真实请求路径。
4. 发起 API 请求,查看镜像后端收到一定比例的镜像请求。
场景二:镜像到多个后端
1. 登录 Konga 管理控制台,进入需要配置镜像的 Service 详情页,单击 Add Plugin 添加插件,在 Traffic Control 分组下选择 TSE TRAFFIC MIRROR 插件。
2. 本场景模拟将流量镜像到多个 Upstream。
在插件中填写以下配置:
镜像比例:100%。
后端地址类型:Upstream。
添加多个后端地址,每个后端地址填写:
Upstream:填写镜像服务所在的 Upstream。
Path:选填,填写镜像请求路径。
3. 发起 API 请求,在两个 Upstream 查看发起的镜像请求。