管理微服务
您可通过微服务目录查看微服务详细信息、搜索目标微服务等,达到维护微服务的目的。“微服务目录”页面展示如下信息:
- 应用列表:显示当前微服务引擎的所有应用,支持使用应用名称搜索目标应用,也可以通过选择环境筛选应用。具体操作,请参考查看应用列表。
- 微服务列表:微服务列表下支持的具体操作请见下表。
- 实例列表:实例列表下支持的具体操作请见下表。
创建微服务
动态配置
- 登录ServiceStage控制台,选择“微服务引擎 > 引擎实例”。
- 在页面上方“微服务引擎”下拉列表,选择待操作的微服务引擎。
- 单击“微服务目录 ”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 单击“微服务列表”。
- 单击微服务名称。
- 单击“动态配置”,进入动态配置页签。在“动态配置”页签可进行如下操作:
配置项使用明文存储,请勿附带敏感数据。
操作
步骤
新建配置
操作步骤可参考创建微服务级配置,其中,“配置范围”已选择“微服务级配置”,“微服务”为当前微服务。
查看历史版本
单击目标配置项对应“操作”列的“查看历史版本”,可查看历史版本配置。
禁用配置项
- 在目标配置项对应“操作”列选择“更多 > 禁用”。
- 在弹出确认框,单击“确认”禁用该配置。
修改配置项
- 单击目标配置项对应“操作”列的“编辑”。
- 在配置详情页面单击“编辑”。
- 在“配置内容”区域输入新的配置信息。
- 单击“保存”,保存配置修改。
删除配置项
- 在目标配置项对应“操作”列选择“更多 > 删除”。
- 单击“确定”,删除配置。
灰度发布
为保障新特性能平稳上线,可以通过灰度发布功能选择少部分用户试用,待新特性成熟以后,再切换版本让所有用户使用。
- 基于ServiceComb Java Chassis框架开发的微服务需要在POM中添加依赖darklaunch或handler-router,并且在配置文件中增加servicecomb.router.type=router。
- 基于Spring Cloud Huawei框架开发的微服务需要在POM中增加依赖spring-cloud-starter-huawei-router。
- 登录ServiceStage控制台,选择“微服务引擎 > 引擎实例”。
- 在页面上方“微服务引擎”下拉列表,选择待操作的微服务引擎。
- 单击“微服务目录”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 在“微服务列表”页签,单击微服务名称,进入详情页面,单击“灰度发布”。
- 单击“添加发布规则”,弹出“创建新规则”弹框。
- 按照权重方式添加灰度规则。
- “发布规则”选择“权重”,显示权重规则设置页签。
- 对权重规则进行设置,权重规则配置项如下表所示。
配置项
说明
规则名称
自定义规则名称。
作用域
- 选择规则作用的版本。
- 勾选“是否添加自定义版本”,根据界面提示添加新版本。
规则配置
配置所选版本的引流权重,流量会按照配置的百分比分配给所选择的服务版本。
- 单击“确定”,完成权重规则配置和灰度发布。
- 按照自定义方式添加灰度规则。
只有ServiceComb Java Chassis框架开发的微服务通过依赖darklaunch实现灰度能力和Spring Cloud Huawei框架开发的微服务实现灰度能力,可通过此功能实现下发灰度规则。依赖handler-router下发的灰度规则需要手动在配置中心下发。
- “发布规则”选择“自定义”,显示自定义规则设置页签。
- 对自定义规则进行设置,自定义规则配置项如下表所示。
配置项
说明
规则名称
自定义规则名称。
作用域
- 选择规则作用的版本。
- 勾选“是否添加自定义版本”,根据界面提示添加新版本。
规则配置
设置匹配规则的参数,使用darklaunch实现灰度能力时,设置的是policyCondition内容,其他设置的是Headers参数。
- 参数名
根据契约的参数名或Header自定义的key作为参数名设置。
- 规则
通过选择匹配符和契约的Key或Header的Key对应的Value确定符合该规则的请求将被分配到微服务版本中。说明:
- 当匹配符选~时,可使用*或者?字符的模糊匹配规则自定义规则值,*表示任意长度字符,?表示一个字符。比如,字段Name的规则值配置为*1000时,表示Name后4位为1000的都能匹配上。
- 当匹配符没有选~时,*或者?字符只是普通字符,没有模糊匹配的作用。
- 单击“确定”,完成自定义规则配置和灰度发布。
- 按照权重方式添加灰度规则。
下发灰度发布规则样例如下:
- ServiceComb Java Chassis框架开发的微服务,在微服务引擎页面下发规则是基于darklaunch依赖下发的,通过配置自定义方式添加灰度规则。
其中,在规则配置中,参数名Key必须是契约里面存在的。有可能服务端接口写的是String paramA,加了注解实际生成的是paramB,所以这里应该是写paramB。
通过选择匹配符和契约的Key对应的Value确定符合该规则的请求将被分配到微服务版本中。
成功下发的规则内容如下:配置项为cse.darklaunch.policy.${serviceName}。
- ServiceComb Java Chassis框架开发的微服务,依赖handler-router下发的灰度规则需要手动在配置中心下发,配置项为:servicecomb.routeRule.${serviceName},内容如下:
- Spring Cloud Huawei框架开发的微服务,微服务引擎页面下发灰度规则如下:
修改实例状态
“实例状态”是微服务实例信息的一部分,用于反映微服务实例的状态。
在创建并部署组件中通过绑定微服务引擎同步的微服务实例不支持状态修改。
微服务实例状态说明请见下表。
状态 |
含义 |
---|---|
在线 |
实例运行中,可提供服务。 |
下线 |
实例进程结束前,标记该实例不再对外提供服务。 |
摘机 |
实例已注册到微服务引擎,暂时不对外提供服务。 |
拨测 |
实例处于内部联调状态,不对外提供服务。 |
- 登录ServiceStage控制台,选择“微服务引擎 > 引擎实例”。
- 在页面上方“微服务引擎”下拉列表,选择待操作的微服务引擎。