Spring clould数据流和spring clould任务批处理作业

时间:2017-11-04 05:41:59

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

我们一直在使用弹簧批用于以下用例

  1. 从文件读取数据,处理并写入目标数据库(批处理 文件到达时启动)
  2. 从远程数据库读取数据,处理并写入目标数据库(按计划间隔运行,触发     by Autosys)
  3. 计划将所有在线应用程序移至弹簧启动微服务和PCF,我们正在考虑在批量方面进行类似的练习,如果它增加了价值。

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

    1. ECSS3将通过发送http请求通知文件到达 工作流程将是 - clould stram httpsource->启动将从对象存储读取的clould批处理作业任务,处理并将记录保存到目标数据库
    2. 从PCF调度程序触发的Spring Clould作业任务从远程数据库读取,处理并保存到目标数据库
    3. 通过上述设计,我没有看到将弹簧批处理作业包装到clould任务中并使用弹簧数据流在PCF中运行的价值

      我在这里遗漏了什么吗?在这种情况下,PCF / SpringClouldDataFlow是否过度杀伤?

1 个答案:

答案 0 :(得分:0)

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

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

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

您是否需要monitor整个批量作业'地位,进步和健康?也许您有multiple batch-jobs作为DAG汇总的要求?如何visually composing一系列任务并完全从仪表板编排它?

此外,当批处理作业与SCT,SCDF和PCF计划程序一起使用时,您可以从PCF Apps Manager监控所有这些内容。