如何使用定时任务的灰度

本文介绍如何使用SchedulerX定时任务灰度功能。

通过label进行灰度调度

基于Label的路由策略,Worker向Server心跳汇报时,可以附加当前Worker的Label。每个任务可以在静态配置或动态运行时,指定调度到某个Label的Worker上。

方案一:复制一个灰度任务

复制一个任务,生产的任务指定生产的标签,灰度任务指定灰度的标签,通过灰度的任务进行灰度测试。

image

方案二:一个任务通过自动调度和手动调度来进行灰度

如果您希望在灰度发布时,将定时任务在灰度机器上运行一次进行验证,则不用复制任务。您可继续使用之前的任务,在SchedulerX控制台手动运行一次指定Label。

image

您也可以使用Jenkins等持续集成软件,将手动运行一次实现自动化,如下图所示:

image

用户侧节点如何配置label

程序启动时设置

应用程序启动时,可以通过Properties设置Label,以Springboot工程为例。

spring.schedulerx2.label=${label}

容器服务动态修改

如果您的应用部署在K8s集群中,并且使用EDAS或者MSE托管,默认集成了全链路灰度方案泳道中Label,请参见使用全链路泳道实现全链路金丝雀灰度发布(K8s)