EDAS支持已接入SchedulerX的应用在金丝雀发布时指定任务调度比例规则。规则配置完成后,升级后的任务应用会经过小规模验证,验证通过后再全量升级,保障升级过程平稳无损。本文介绍如何将已接入SchedulerX的EDAS应用在金丝雀发布时配置任务调度比例。
前提条件
- 金丝雀发布的应用已成功接入SchedulerX。具体操作,请参见EDAS应用接入SchedulerX。
- 已具备金丝雀发布条件:
- 对于ECS应用,应用中包含至少两个实例分组,且至少两个分组下包含实例。关于创建实例分组及为分组添加ECS实例的操作步骤,请参见使用控制台管理ECS集群中的应用实例分组。
- 对于K8s应用,应用中包含至少两个Pod。请在创建K8s应用时,Pod总数配置为2个及以上。具体操作,请参见在容器服务K8s集群中使用JAR包或WAR包部署应用。
- SchedulerX任务的时间类型配置为second_delay时,已参照下方代码完成配置,并在配置完成后,重新打包发布应用。
- Java应用:
public void initSchedulerxWorker() throws Exception { SchedulerxWorker schedulerxWorker = new SchedulerxWorker(); ... schedulerxWorker.setEnableSecondDelayStandaloneDispatch(true); ... schedulerxWorker.init(); }
- Spring Boot应用:
在application.properties文件中设置如下参数。
spring.schedulerx2.enableSecondDelayStandaloneDispatch=true
- Java应用:
使用限制
目前SchedulerX任务执行模式仅支持单机运行。
ECS应用
操作步骤
- 登录EDAS控制台。
- 在左侧导航栏,单击 ,在顶部菜单栏选择地域,并在页面上方选择微服务空间。
- 单击需要金丝雀发布的应用名称,在应用详情页面右上角,单击部署应用。
- 在部署模式选择页面金丝雀发布(灰度)区域右上角,单击开始部署。
- 在全链路流量控制页面,上传新版本应用的部署包,设置发布策略。具体操作,请参见使用控制台金丝雀发布(ECS集群)。
- 在灰度规则区域,选择按比例灰度页签,设置灰度规则,然后单击确定。接入SchedulerX的ECS应用支持在线应用与任务调度两种比例灰度规则的设置。
配置项 描述 在线应用 可开启或关闭。 - 开启:配置按比例流量规则生效。
- 关闭:配置按比例流量规则不生效。
流量比例 流量将按配置的比例被转发至当前的灰度分组中。 任务调度 可开启或关闭。 - 开启:配置按比例任务调度规则生效。
- 关闭:配置按比例任务调度规则不生效。
Schedulerx任务 任务调度规则的作用范围。目前仅支持对一个SchedulerX应用分组中所有任务生效,即所有任务都会按照调度比例被调度至灰度分组中。 调度比例 任务将按配置的比例被调度至当前的灰度分组中。 - 灰度发布启动后,先在指定的灰度分组中部署新版本应用。基本信息页面将提示应用有变更流程正在执行,处于执行中状态。单击查看详情,进入变更详情页面查看部署进度和状态。
结果验证
灰度分组发布完成后,验证任务调度的比例分配是否符合预期。
- 查看灰度分组实例中的业务日志。
- 登录EDAS控制台。
- 在左侧导航栏,单击应用列表页面,单击目标应用进入基本信息页面。 ,在
- 在左侧导航栏,单击 。
- 在日志目录页面,单击图标,展开文件夹路径,然后单击日志文件操作列的在线查看。
- 在实时日志页面,查看message,根据调度时间判断灰度规则是否生效。
- 查看任务的实际调度情况与执行情况。
K8s应用
操作步骤
- 登录EDAS控制台。
- 在左侧导航栏,单击 ,在顶部菜单栏选择地域,并在页面上方选择微服务空间。
- 单击需要金丝雀发布的应用名称,在应用详情页面右上角,单击 。
- 在部署模式选择页面金丝雀发布(灰度)区域右上角,单击开始部署。
- 在金丝雀发布(灰度)页面设置新版本应用的部署参数、发布策略和灰度规则。具体操作,请参见使用控制台金丝雀发布应用(K8s)。
- 在灰度规则区域,选择按比例灰度页签,设置灰度规则,然后单击确定。接入SchedulerX的K8s应用支持在线应用与任务调度两种比例灰度规则的设置。
配置项 描述 在线应用 可开启或关闭。 - 开启:配置按比例流量规则生效。
- 关闭:配置按比例流量规则不生效。
流量比例 流量将按配置的比例被转发至当前的灰度分组中。 任务调度 可开启或关闭。 - 开启:配置按比例任务调度规则生效。
- 关闭:配置按比例任务调度规则不生效。
Schedulerx任务 任务调度规则的作用范围。目前仅支持对一个SchedulerX应用分组中所有任务生效,即所有任务都会按照调度比例被调度至灰度分组中。 调度比例 任务将按配置的比例被调度至当前的灰度分组中。 - 灰度发布启动后,先在指定的灰度分组中部署新版本应用。基本信息页面将提示应用有变更流程正在执行,处于执行中状态。单击查看详情,进入变更记录页面查看部署进度和状态。
结果验证
灰度分组发布完成后,验证任务调度的比例分配是否符合预期。
- 查看灰度分组实例中的业务日志。
- 登录EDAS控制台。
- 在左侧导航栏,单击应用列表页面,单击目标应用进入应用总览页面。 ,在
- 在左侧导航栏,单击日志中心,然后单击日志目录(在线查看)页签。
- 在日志目录页签,选择需要查看日志的Pod,然后单击添加在线查看。
- 在添加在线查看对话框中,填写应用日志目录后,单击添加。
- 在实时日志(标准输出)页面,查看实时日志,根据调度时间判断灰度规则是否生效。
- 查看任务的实际调度情况与执行情况。