微服务管理
在微服务列表页签下,可对微服务进行创建、查看、清理无实例版本、动态配置、灰度发布和删除微服务操作。
创建微服务
创建新的微服务,可用于测试或恢复引擎中误删的微服务。当自动注册到ServiceComb的微服务被误删后,可通过手动创建微服务恢复误删的微服务,其中需使用与原服务完全相同的微服务名称、微服务应用、版本和微服务环境。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 选择
,参考下表配置微服务参数。参数前面带*号的是必须设置的参数。
参数
说明
*微服务名称
输入微服务名称,例如:myServiceName。以数字、字母开头结尾,由数字、字母和特殊字符(_-.)组成,且特殊字符不能连续出现,长度为1 ~ 128字符 。
*微服务应用
输入微服务所属应用的名称,微服务间通过应用隔离的。以数字、字母开头结尾,由数字、字母和特殊字符(_-.)组成,且特殊字符不能连续出现,长度为1 ~ 160字符 。
*版本
输入微服务的版本号,默认为1.0.0。
微服务版本号格式为“X.Y.Z”,“X.Y.Z.B”型,其中X、Y、Z、B为数字且范围在0-32767,长度为3-46个字符。
*微服务环境
选择微服务所在环境,用于隔离微服务数据,包括:版本、实例。
描述
输入微服务描述信息。
- 单击“确定”。
创建完成后,微服务会显示在微服务列表。
查看微服务列表
显示当前ServiceComb引擎的所有微服务,支持使用微服务名称搜索目标服务,也可以选择环境、应用筛选微服务。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
查看微服务详情
在微服务详情页可以分别查看实例列表、被调用服务、调用服务、动态配置、服务契约等信息,也可对微服务级配置进行动态配置和灰度发布。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
清理无实例版本
清理实例数为0的微服务版本,即删除没有运行中实例的服务版本,主要用于优化资源利用、提升治理效率和保障系统稳定性。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
动态配置
可以创建微服务级配置,也可对微服务级配置进行查看历史版本、编辑、禁用和删除操作。
配置项使用明文存储,请勿附带敏感数据。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 单击待操作的引擎。
- 单击“微服务目录 ”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 单击“微服务列表”,单击微服务名称。
- 单击“动态配置”,进入动态配置页签。在“动态配置”页签可进行如下操作:
操作
步骤
新建配置
操作步骤可参考创建2.x版本ServiceComb引擎配置,其中,“配置范围”已选择“微服务级配置”,“微服务”为当前微服务。
查看历史版本
单击目标配置项对应“操作”列的“查看历史版本”,可查看历史版本配置。
禁用配置项
- 在目标配置项对应“操作”列选择“更多 > 禁用”。
- 在弹出确认框,单击“确认”禁用该配置。
修改配置项
- 单击目标配置项对应“操作”列的“编辑”。
- 在配置详情页面单击“编辑”。
- 在“配置内容”区域输入新的配置信息。
- 单击“保存”,保存配置修改。
删除配置项
- 在目标配置项对应“操作”列选择“更多 > 删除”。
- 单击“确定”,删除配置。
灰度发布
为保障新特性能平稳上线,可以通过灰度发布功能选择少部分用户试用,待新特性成熟以后,再切换版本让所有用户使用。
- 基于ServiceComb Java Chassis框架开发的微服务需要在POM中添加依赖darklaunch或handler-router,并且在配置文件microservice.yaml中增加servicecomb.router.type=router。
- 基于Spring Cloud Huawei框架开发的微服务需要在POM中增加依赖spring-cloud-starter-huawei-router。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 单击待操作的引擎。
- 单击“微服务目录”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 在“微服务列表”页签,单击微服务名称,进入详情页面,单击“灰度发布”。
- 单击“添加发布规则”,弹出“创建新规则”弹框。
- 按照权重方式添加灰度规则。
- “发布规则”选择“权重”,显示权重规则设置页签。
- 对权重规则进行设置,权重规则配置项如下表所示。
配置项
说明
规则名称
自定义规则名称。以英文字母开头,支持数字、字母和特殊字符(.@_-),长度为3 ~ 24个字符。
作用域
- 选择规则作用的版本。
- 勾选“是否添加自定义版本”,根据界面提示添加新版本。
规则配置
配置所选版本的引流权重,流量会按照配置的百分比分配给所选择的服务版本。
- 单击“确定”,完成权重规则配置和灰度发布。
- 按照自定义方式添加灰度规则。
- “发布规则”选择“自定义”,显示自定义规则设置页签。
- 对自定义规则进行设置,自定义规则配置项如下表所示。
配置项
说明
规则名称
自定义规则名称。以英文字母开头,支持数字、字母和特殊字符(.@_-),长度为3 ~ 24个字符。
作用域
- 选择规则作用的版本。
- 勾选“是否添加自定义版本”,根据界面提示添加新版本。
规则配置
设置匹配规则的参数,使用darklaunch实现灰度能力时,设置的是policyCondition内容,
使用handler-router实现灰度能力时,设置的是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引擎页面下发灰度规则如下: