本文介绍如何使用SchedulerX定时任务灰度功能。
通过label进行灰度调度
基于Label的路由策略,Worker向Server心跳汇报时,可以附加当前Worker的Label。每个任务可以在静态配置或动态运行时,指定调度到某个Label的Worker上。
方案一:复制一个灰度任务
复制一个任务,生产的任务指定生产的标签,灰度任务指定灰度的标签,通过灰度的任务进行灰度测试。
方案二:一个任务通过自动调度和手动调度来进行灰度
如果您希望在灰度发布时,将定时任务在灰度机器上运行一次进行验证,则不用复制任务。您可继续使用之前的任务,在SchedulerX控制台手动运行一次指定Label。
您也可以使用Jenkins等持续集成软件,将手动运行一次实现自动化,如下图所示:
用户侧节点如何配置label
程序启动时设置
应用程序启动时,可以通过Properties设置Label,以Springboot工程为例。
spring.schedulerx2.label=${label}
容器服务动态修改
如果您的应用部署在K8s集群中,并且使用EDAS或者MSE托管,默认集成了全链路灰度方案泳道中Label,请参见使用全链路泳道实现全链路金丝雀灰度发布(K8s)。
文档内容是否对您有帮助?