概述
标签路由是将每个服务打上一个标签,通过标签将标签相同的服务分为同一个分组,然后约束流量在同一个分组内流转,以此实现灰度发布、金丝雀发布、蓝绿发布等功能。
版本限制
框架 | 限制 | 详情 |
---|---|---|
Spring Cloud | Spring Cloud Edgware及以上版本 | 客户端:Feign、RestTemplate 负载均衡:Ribbon、LoadBalancer。 |
Dubbo | 2.5.3~2.7.8 | 支持Alibaba Dubbo、Apache Dubbo。 |
注册中心 | Nacos、Eureka、Zookeeper | -- |
jdk版本 | 1.8+ | -- |
应用场景
A/B测试
在营销活动中,经常会有A/B测试,A/B测试是为了测试不同的规则对业务的影响,所以一个应用会有多个版本同时运行,可以通过标签的方式区分不同的版本,对不同版本的应用进行流量隔离,将特殊用户的流量路由到特殊版本,从而实现A/B测试。
开通标签路由
步骤1:为应用设置标签
为云容器引擎集群应用设置标签,应用容器添加环境变量MSE_SERVICE_TAG=gray。
为ECS应用设置标签,在启动应用时,添加JVM启动参数-Dctgcloud.service.tag=gray。
步骤2:在微服务治理中心控制台创建标签路由
- 登录微服务治理中心控制台。
- 在左侧导航栏选择 微服务治理中心 ->应用治理。
- 在应用治理页面单击目标应用卡片。
- 在应用页面左侧导航栏选择流量治理 - 标签路由,查看服务标签。
- 在标签路由页点击流量分配,为标签按比例分配流量。
- 在标签路由页的流量规则栏新增流量规则。
流量规则参数说明:
参数 | 说明 |
---|---|
路由名称 | 路由规则的名称。 |
应用 | 所选的应用。 |
标签 | 设置的标签名。 |
应用实例 | 设置了该标签的实例ip。 |
是否链路传递 | 代表开启全链路流控。 |
框架类型 | Spring Cloud Dubbo。 |
Path | SpringCloud为path路径,Dubbo为接口。 |
条件模式 | 满足一个条件,或者满足所有条件。 |
条件列表 | 可以设置Header、Cookie、Parameter和Body Content四种参数类型。 |
是否开启流量规则 | 流量规则开关。 |