【问题标题】:Spring clould data flow and spring clould task batch jobsSpring Cloud 数据流和 Spring Cloud 任务批处理作业
【发布时间】:2018-04-16 21:32:11
【问题描述】:

我们一直在以下用例中使用 Spring Batch

  1. 从文件中读取数据,处理并写入目标数据库(批量 文件到达时开始)
  2. 从远程数据库读取数据,处理并写入目标数据库(按预定时间间隔运行,触发 由 Autosys 提供)

由于计划将所有在线应用程序迁移到 spring-boot 微服务和 PCF,我们正在考虑在批处理方面进行类似的练习,如果它可以增加价值。

在新世界中,spring cloud 批处理作业任务将从 S3 存储 (ECSS3) 读取文件。
我在这里寻找好的设计(尽可能远离过多的管道/过滤器和编排),输入数据范围从 1MM 到 20MM 记录

  1. ECSS3 将通过发送 http 请求通知文件到达, 工作流程将是 - could stram httpsource->launch could 批处理作业任务,该任务将从对象存储中读取,处理并将记录保存到目标数据库
  2. 从 PCF 调度程序触发的 Spring Cloud Job 任务从远程数据库读取,处理并保存到目标数据库

通过上面的设计,我看不到将spring批处理作业包装成云任务并在PCF中使用spring数据流运行的价值

我在这里遗漏了什么吗?在这种情况下,PCF/SpringClouldDataFlow 是不是有点矫枉过正?

【问题讨论】:

    标签: spring-cloud-dataflow spring-cloud-task pcfdev


    【解决方案1】:

    在云环境中编排批处理作业可以为解决方案带来新的好处。例如,PCF 支持的弹性模型可能很有用。 Spring Cloud Task (SCT) 通常在一个短期容器中运行;如果它出现故障,PCF 会重新启动并在其中运行。

    上面列出的两个选项都是可行的,它取决于您处理传入数据的频率的用例。它真的是实时的,或者它可以按计划愉快地运行,这是您必须确定才能做出决定的事情。

    至于 Spring Cloud Data Flow (SCDF) + PCF 的适用性,同样取决于您的业务需求。您现在可能没有使用它,但Spring Batch Admin is EOL 支持 SCDF 的仪表板。以下问题可能有助于实现 SCDF + SCT 的价值主张。

    您是否必须monitor 整体批处理作业的状态、进度和健康状况?也许您需要将multiple batch-jobs 组装成DAGvisually composing 一系列任务并完全从仪表板进行编排怎么样?

    此外,当批处理作业与 SCT、SCDF 和 PCF 调度程序一起使用时,您将受益于从 PCF 应用程序管理器监控所有这些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-15
      • 2018-11-27
      • 1970-01-01
      • 2017-10-04
      • 2018-05-27
      • 1970-01-01
      • 2019-12-15
      • 1970-01-01
      相关资源
      最近更新 更多