0

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

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

4

1 回答 1

2

简而言之,是的,它可以用作一个全面的批处理平台。Spring XD 目前提供了许多引人注目的功能,未来还会提供更多功能。Spring XD 为批处理解决方案提供的特性:

  • 作业编排- Spring Batch 明确避免了作业编排问题,以便开发人员可以使用他们想要的任何工具。Spring XD 通过调度作业、执行临时作业以及在某种形式的逻辑结果上执行作业(例如轮询目录以获取文件)在分布式环境中带来编排。
  • Spring Batch 和 Spring Integration 的抽象- 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 的端点使用。

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

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

于 2014-08-12T20:07:10.177 回答