本文介绍如何为任务指定标签。
应用场景
主要应用在灰度、压测等场景。同一个应用分组下的机器,部分机器可能要用于灰度或者压测,任务实现类和线上其他机器不一致。任务调度时,机器为随机分配,所以灰度任务被分配到正常机器时,可能无法找到实现类。
传统解决方案
传统解决方案下,往往会创建多个应用分组,例如为灰度机器专门配置一个Group ID。但这种解决方案具有以下局限性。
- 正常的任务无法调度到灰度机器。灰度任务流量较小,专门创建用于处理灰度任务的机器会导致浪费资源。
- 上线路径复杂。灰度任务测试完成后,最后需要上线调度到所有线上机器中。但该任务已经配置在灰度分组中,因此需要在原来线上的分组再次重建任务,并将该灰度任务删除。
指定标签的解决方案
注册SchedulerX客户端时支持指定标签。本文以Spring Boot接入为例,配置信息如下。更多信息,请参见Spring Boot应用接入SchedulerX。
spring.schedulerx2.label=gray
步骤一:验证标签注册成功。
- 登录EDAS控制台。
- 在左侧导航栏单击任务调度。
- 在顶部菜单栏选择地域。
- 在应用管理的操作列,单击查看实例。在连接实例页面的标签列验证标签是否注册成功。
步骤二:指定任务运行在标签为gray的机器上
- 登录EDAS控制台。
- 在左侧导航栏单击任务调度。
- 在顶部菜单栏选择地域。
- 在左侧导航栏选择任务管理。
- 在任务管理的操作列,单击目标任务的,然后单击指定机器。
- 在指定机器页面,选择指定类型为标签,勾选对应的机器,单击确定。
灰度验证通过后,所有机器都将上线新的任务实现类。可将指定标签删除,实现动态生效。