如何指定标签

本文介绍如何为任务指定标签。

应用场景

主要应用在灰度、压测等场景。同一个应用分组下的机器,部分机器可能要用于灰度或者压测,任务实现类和线上其他机器不一致。任务调度时,机器被随机分配,所以灰度任务被分配到正常机器时,可能无法找到实现类。

传统解决方案

传统解决方案下,往往会创建多个应用分组,例如为灰度机器专门配置一个Group ID。但这种解决方案具有以下局限性。

  • 正常的任务无法调度到灰度机器。灰度任务流量较小,专门创建用于处理灰度任务的机器会导致浪费资源。

  • 上线路径复杂。灰度任务测试完成后,最后需要上线调度到所有线上机器中。但该任务已经配置在灰度分组中,因此需要在原来线上的分组再次重建任务,并将该灰度任务删除。

指定标签的解决方案

注册SchedulerX客户端时支持指定标签。本文以Spring Boot接入为例,配置信息如下。更多信息,请参见Spring Boot应用接入SchedulerX

spring.schedulerx2.label=gray

步骤一:验证标签注册成功。

  1. 登录分布式任务调度平台
  2. 在顶部菜单栏选择地域。
  3. 在左侧导航栏单击应用管理

  4. 应用管理操作列,单击查看实例。在连接实例页面的标签列验证标签是否注册成功。

步骤二:指定任务运行在标签为gray的机器上

  1. 登录分布式任务调度平台
  2. 在顶部菜单栏选择地域。
  3. 在左侧导航栏选择任务管理
  4. 任务管理操作列,单击目标任务的更多,然后选择指定机器

  5. 指定机器页面,选择指定类型标签,勾选对应的机器,单击确定

灰度验证通过后,所有机器都将上线新的任务实现类。可将指定标签删除,实现动态生效。