- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 使用华为云CSE注意事项
- Nacos引擎
-
ServiceComb引擎
- 如何进行本地开发和测试?
- 证书加载错误
- 无效头名称
- mesher性能损耗是多少?
- 连接服务中心提示“Version validate failed”
- 连接服务中心提示“Not enough quota”
- 如何处理开启了安全认证的ServiceComb引擎专享版开启IPv6后服务注册失败?
- 服务名重复校验范围是什么?
- 为什么一定要定义服务契约?
- 如何解决微服务应用开发过程中微服务开发框架同netty版本不匹配的问题?
- ServiceComb专享版引擎版本从1.x升级到2.x时有哪些注意事项?
- 用户业务从微服务引擎专业版迁移到微服务引擎专享版checklist
- 创建引擎提示“Duplicate cluster name”
- 创建引擎过程中处理接入地址步骤失败,提示the subnet could not be found
- 本地轻量化注册服务报错:does not match rule: {Max: 100, Regexp: ^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$}"}
- SpringCloud应用连接ServiceComb引擎2.x版本配置中心失败
- 在全局配置中配置相关的配置项修改后,服务获取的配置内容未修改成功
- 获取配置失败
- 应用网关
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
配置及验证优雅上下线能力
本章节以Nacos demo应用为例,通过Sermant Agent接入ServiceComb引擎,并在CCE集群上验证优雅上下线功能。
(可选)自定义优雅上下线配置
优雅上下线能力默认开启,若需自定义配置,请参考如下方式:
如果方式一与方式二同时配置,将以方式二为准。
- 方式一:
在启动Spring Cloud应用时通过环境变量或者-D参数的形式进行配置,配置参数如下:
参数项
说明
grace_rule_startDelayTime
注册延迟时间,默认0秒,若大于0,则开启注册延迟。
grace_rule_enableWarmUp
开启优雅上线能力,默认开启。
grace_rule_warmUpTime
优雅上线时间,单位秒,该配置生效需开启优雅上线功能,默认120秒。
grace_rule_enableGraceShutdown
配置优雅下线能力开关, 默认开启。
grace_rule_shutdownWaitTime
下线前的最大等待时间,默认30S。
grace_rule_enableOfflineNotify
开启下线通知,默认开启。
- 方式二:
通过配置管理进行配置,配置步骤如下:
- 登录微服务引擎控制台。
- 单击
,选择区域。
- 选择“ServiceComb引擎”。
- 单击待操作的ServiceComb引擎。
- 选择“配置管理”。
- 单击右上角的“新建配置”进入新建配置页面。
- 输入“配置项”,命名为sermant.agent.grace。
说明:
此处名称固定为该值。
- 选择“配置范围”,这里以微服务级配置为例,选择您要配置的服务,如下图所示:
- “配置格式”选择“YAML”,并自定义优雅上下线配置, 如下:
rule: startDelayTime: 0 # 注册延迟时间,默认0秒,若大于0,则开启注册延迟。 enableWarmUp: true # 开启优雅上线能力,默认为true(开启),如需关闭,请设置为fasle。 warmUpTime: 120 # 优雅上线时间,单位秒,该配置生效需开启优雅上线功能,默认120秒。 enableGraceShutdown: true # 配置优雅下线能力开关,默认为true(开启),如需关闭,请设置为fasle。 shutdownWaitTime: 30 # 下线前的最大等待时间,默认30S。 enableOfflineNotify: true # 开启下线通知,默认开启。
- 单击右下角的“立即创建”,然后重启对应服务实例即可。
说明:
下发配置时,请去掉注释,否则会导致下发配置失败。
验证优雅上下线能力
- 验证优雅上线能力。
图1 优雅上线验证部署图
如上图所示,该套nacos应用有nacos-rest-consumer、nacos-rest-provider(两个实例)以及nacos-rest-data服务,其中灰色的实例已关闭开启优雅上线,而绿色实例开启优雅上线功能。
说明:
若需关闭预热,请添加环境变量“grace_rule_enableWarmUp=false”进行指定。
而服务nacos-rest-consumer通过接口graceHot进行模拟调用。
- 下载demo应用并打包。
- 按照优雅上线验证部署图进行部署并将nacos-rest-provider的其中一个实例开启优雅上线能力。
- 查看应用是否已全部接入ServiceComb引擎。
参考查看微服务列表查看您的应用是否已接入ServiceComb引擎。
- 待应用接入ServiceComb引擎后,使用以下脚本invoke-hot.sh模拟调用过程。
#!/bin/bash endpoint=127.0.0.1:31021 url=${endpoint}/graceHot while true do echo `curl -s ${url}` done
说明:
endpoint为nacos-rest-consumer服务的调用地址,即ip:port。需根据实际nacos-rest-consumer地址进行替换。
- 查看服务调用情况。
使用脚本stat.sh查看服务调用情况,脚本如下:
#!/bin/bash endpoint=127.0.0.1:31021 watch curl ${endpoint}/stat
下图为某个时刻统计的调用结果:
上图中实例x.x.0.55:8009关闭了优雅上线, 实例x.x.0.51:8004开启了优雅上线,观察请求数(requestCount)与QPS,可观察到开启优雅上线的实例的QPS与请求数都小于关闭优雅上线的实例。持续观察流量请求情况,直到两个实例QPS基本持平则结束验证。
- 验证优雅下线能力。
如上图,该套nacos应用有nacos-rest-consumer、nacos-rest-provider(两个实例)、nacos-rest-provider-close-grace(两个实例)以及nacos-rest-data服务,其中服务nacos-rest-provider-close-grace关闭了优雅下线,其他服务开启优雅下线。
说明:
nacos-rest-consumer通过调用接口graceDownOpen测试验证优雅下线能力;调用接口graceDownClose对比未开启优雅下线时请求处理情况。查看调用情况可使用nacos-rest-consumer接口的stat方法进行请求统计。
- 下载demo应用并打包。
- 按照优雅下线验证部署图进行部署,并关闭nacos-rest-provider-close-grace的优雅下线能力。
- 查看应用是否已全部接入ServiceComb引擎。
参考查看微服务列表查看您的应用是否已接入ServiceComb引擎。
- 待应用接入ServiceComb引擎后,使用如下脚本invoke.sh模拟请求。
#!/bin/bash endpoint=127.0.0.1:31021 openUrl=${endpoint}/graceDownOpen closeUrl=${endpoint}/graceDownClose while true do echo `curl -s ${openUrl}` echo `curl -s ${closeUrl}` done
说明:
- endpoint为服务nacos-rest-consumer实例的请求地址,即ip:port。需根据实际nacos-rest-consumer地址进行替换。
- openUrl为开启优雅下线能力的调用接口。
- closeUrl为关闭优雅下线能力的调用接口。
- 查看应用的请求情况。
参考如下脚本stat.sh查看请求调用情况:
#!/bin/bash endpoint=127.0.0.1:31021 watch curl ${endpoint}/stat
说明:
endpoint为服务nacos-rest-consumer实例的请求地址,即ip:port。
- 对服务进行缩容,模拟下线。
分别对nacos-rest-provider-close-grace与nacos-rest-provider进行缩容,将实例缩容为1个。
- 使用4的脚本,查看服务调用情况。
上图中,graceDownClose为关闭优雅下线能力的请求统计,可以看到存在4个错误请求(errorCount), 而下方graceDownOpen为开启优雅下线能力的请求统计,可以看到未出现错误请求。