全部产品

使用分片网关

更新时间:2020-07-27 15:14:16

在任务拓扑中,您可以添加分片网关并设定相应的分片维度。如此,拓扑任务在执行过程中,即可根据执行上下文获取的分片配置,动态生成需要执行的分片。本文将快速引导您如何在任务拓扑中使用分片网关。

准备拓扑子任务

创建一个简单或集群任务,并为其添加自定义参数(即分片参数),以作为后续任务拓扑中的子流程。操作步骤如下:

  1. 进入任务调度控制台,左侧导航栏中选择 任务配置,点击 添加任务 > 简单任务
  2. 在任务配置页面,输入任务的基本信息,需特别注意以下配置:
    • 调度类型:必须选择 事件触发
    • 通信方式:必须选择 回调 CALLBACK
      说明
      • 只有 事件触发CALLBACK 类型的任务才可添加至任务拓扑中。
      • 其他任务配置信息,可参见 任务参数说明
  3. 通过以下任一方式添加自定义参数,该参数将用于设置拓扑任务的分片规则。
    • 可直接在控制台任务配置页面中 自定义参数,如下图所示:
      分片参数
    • 如未在控制台任务配置中自定义该参数,也可在本地代码中设置,示例如下:
      1. @Override
      2. public ClientCommonResult handle(JobExecuteContext context) throws Exception {
      3. context.putCustomParams("shardings", Lists.newArrayList("aaa", "bbbb"));
      4. // 分片规则还支持配置整型,如 context.putCustomParams("shardings", 4);
      5. return ClientCommonResult.buildSuccessResult();
      6. }
      说明:以上示例为简单任务代码处理器中的自定义参数配置,配置的参数名为 shardings。您也可以根据业务需求自主配置。
  4. 信息填写完成后,点击 提交,完成任务创建。

使用分片网关

创建一个任务拓扑,添加刚刚创建的简单任务以及一对分片网关,并配置相应的分片规则。操作步骤如下:

  1. 在任务调度控制台,左侧导航栏选择 任务编排,进入拓扑任务列表页。
  2. 点击 添加任务拓扑,在 基本信息 页,输入相应的任务信息。
  3. 点击 下一步,进入 编辑任务拓扑 页面,添加一对分片网关与刚刚创建的简单任务。
  4. 点击分片开始网关,出现分片配置框,在 设置分片规则 栏,输入简单任务创建时的自定义参数名,如上述示例中的 shardings,点击对号保存分片规则。
    设置分片规则
  5. 点击 提交,进入该拓扑任务的详情页。
  6. 点击右上角的 立即触发,触发该任务。您可在 调度记录 中查看该任务的执行实例,如下图所示。
    执行实例