可以将Spring XD用作全面的Spring批处理工作流程的平台吗?

时间:2014-08-11 15:28:04

标签: spring-batch spring-xd

Spring XD提供了启动批处理作业的平台。这是否涵盖了所有批处理作业用例的综合工作流程?或者它意味着在Spring XD用例的上下文中使用。

例如,想要仅使用spring-batch的人不一定是数据提取/实时分析的所有功能,他们是否仍然可以通过设置Spring XD DIRT来执行批处理工作流程而受益?在这种情况下,是否有任何限制无法使用弹簧批支持的所有批处理工作流程?

1 个答案:

答案 0 :(得分:2)

简而言之,是的,它可以用作综合批处理平台。 Spring XD提供了许多引人注目的功能,目前有更多功能在未来推出。功能Spring XD提供批处理解决方案:

  • 作业编排 - Spring Batch明确避免了作业编排问题,以便开发人员可以使用他们想要的任何工具。 Spring XD通过调度作业,执行临时作业以及对某种形式的逻辑结果执行作业(例如,轮询文件的目录),在分布式环境中实现编排。
  • Spring批处理和Spring集成的抽象 - Spring Batch和Spring Integration通常用于解决更复杂场景的解决方案。例如,如果您需要将文件FTP到服务器,然后在其中启动批处理作业,您将使用Spring Integration作为FTP部件并使用Spring Batch处理启动作业处理工作。 Spring XD提供了对这些组件的优化抽象,以便于将这些组件轻松组装成更强大的解决方案。
  • 简化远程分区 - Spring XD提供了简化Spring Batch中远程分区通信方面布线的工具。
  • 通过UI,shell或REST进行作业交互 - Spring XD通过基于Web的UI,交互式shell或基于REST的端点公开了许多可供使用的指标和功能。 / LI>

Spring XD 1.0批量处理的主要限制是无法执行嵌套作业(使用JobStep)。我相信这将是Spring XD 1.1(https://jira.spring.io/browse/XD-1972)的一部分。

展望未来,我期望在未来版本的Spring XD中使用的其他功能是围绕作业的高可用性。目前,如果在节点上部署作业并且节点发生故障,则会自动重新部署该作业。在将来的版本中,可以在重新部署时自动重新启动作业。