微服务引擎 CSE-管理微服务:灰度发布
灰度发布
为保障新特性能平稳上线,可以通过灰度发布功能选择少部分用户试用,待新特性成熟以后,再切换版本让所有用户使用。
- 基于ServiceComb Java Chassis框架开发的微服务需要在POM中添加依赖darklaunch或handler-router,并且在配置文件中增加servicecomb.router.type=router。
- 基于Spring Cloud Huawei框架开发的微服务需要在POM中增加依赖spring-cloud-starter-huawei-router。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 单击待操作的引擎。
- 单击“微服务目录”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。
- 创建账号请参考新增账号。
- 在“微服务列表”页签,单击微服务名称,进入详情页面,单击“灰度发布”。
- 单击“添加发布规则”,弹出“创建新规则”弹框。
- 按照权重方式添加灰度规则。
- “发布规则”选择“权重”,显示权重规则设置页签。
- 对权重规则进行设置,权重规则配置项如下表所示。
配置项
说明
规则名称
自定义规则名称。
作用域
- 选择规则作用的版本。
- 勾选“是否添加自定义版本”,根据界面提示添加新版本。
规则配置
配置所选版本的引流权重,流量会按照配置的百分比分配给所选择的服务版本。
- 单击“确定”,完成权重规则配置和灰度发布。
- 按照自定义方式添加灰度规则。
只有ServiceComb Java Chassis框架开发的微服务通过依赖darklaunch实现灰度能力和Spring Cloud Huawei框架开发的微服务实现灰度能力,可通过此功能实现下发灰度规则。依赖handler-router下发的灰度规则需要手动在配置中心下发。
- “发布规则”选择“自定义”,显示自定义规则设置页签。
- 对自定义规则进行设置,自定义规则配置项如下表所示。
配置项
说明
规则名称
自定义规则名称。
作用域
- 选择规则作用的版本。
- 勾选“是否添加自定义版本”,根据界面提示添加新版本。
规则配置
设置匹配规则的参数,使用darklaunch实现灰度能力时,设置的是policyCondition内容,其他设置的是Headers参数。
Spring Cloud Huawei框架开发的微服务设置的Headers参数请参见设置Header参数 。
- 参数名
根据契约的参数名或Header自定义的key作为参数名设置。
- 规则
通过选择匹配符和契约的Key或Header的Key对应的Value确定符合该规则的请求将被分配到微服务版本中。说明:
- 当匹配符选~时,可使用*或者?字符的模糊匹配规则自定义规则值,*表示任意长度字符,?表示一个字符。比如,字段Name的规则值配置为*1000时,表示Name后4位为1000的都能匹配上。
- 当匹配符没有选~时,*或者?字符只是普通字符,没有模糊匹配的作用。
- 单击“确定”,完成自定义规则配置和灰度发布。
- 按照权重方式添加灰度规则。
下发灰度发布规则样例如下:
- ServiceComb Java Chassis框架开发的微服务,在ServiceComb引擎页面下发规则是基于darklaunch依赖下发的,通过配置自定义方式添加灰度规则。
其中,在规则配置中,参数名Key必须是契约里面存在的。有可能服务端接口写的是String paramA,加了注解实际生成的是paramB,所以这里应该是写paramB。
通过选择匹配符和契约的Key对应的Value确定符合该规则的请求将被分配到微服务版本中。
成功下发的规则内容如下:配置项为cse.darklaunch.policy.${serviceName}。
- ServiceComb Java Chassis框架开发的微服务,依赖handler-router下发的灰度规则需要手动在配置中心下发,配置项为:servicecomb.routeRule.${serviceName},内容如下:
- Spring Cloud Huawei框架开发的微服务,ServiceComb引擎页面下发灰度规则如下:
- 微服务管理_微服务架构_微服务引擎CSE-华为云
- 微服务部署_微服务平台_微服务引擎CSE-华为云
- 微服务是什么_微服务作用_微服务引擎CSE-华为云
- Java Chassis应用托管_微服务架构_微服务引擎CSE-华为云
- Spring Cloud应用托管_微服务平台_微服务引擎CSE-华为云
- Nacos引擎_微服务注册配置中心_微服务引擎CSE-华为云
- 微服务平台有哪些功能_微服务架构_微服务引擎CSE-华为云
- 什么是微服务引擎_为什么需要微服务引擎_微服务引擎的优点-华为云
- Nacos注册配置中心_Nacos的关键特性_微服务引擎CSE-华为云
- 微服务平台_微服务平台是什么_华为云微服务平台_微服务优点-华为云