领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我们很高兴地宣布发布 Spring Cloud Task 1.0.1.RELEASE。这是 Spring Cloud Task 推荐的 GA (General Availability) 版本,可以从 Maven Central 以及其他常用位置获取。
Spring Cloud Task 是 Spring 产品组合中数据应用演进的一个步骤。在我们宣布此版本时,回顾一下我们是如何走到这一步的可能会有所帮助。
这类有限工作负载的演进始于 Spring Batch,它构建在 Spring 产品组合之上。作为 Spring 框架的主要工作负载特定扩展之一,Spring Batch 提供了一种企业友好的方式来执行有限量的处理。它具有多种处理模型(Tasklet
vs Chunk)以及可伸缩性选项,可以在单个 JVM 内和使用多个 JVM 时优化数据处理。多年来,Spring Batch 一直是 JVM 上有限处理的标准。
Spring XD 是演进到 Spring Cloud Task 的下一步。Spring XD 提供了在分布式环境中编排 Spring Batch 作业的能力。然而,虽然 Spring XD 为批处理作业的编排提供了一个很棒的工具,但它也让我们意识到需要一个比作业更抽象的工具。在查看大数据领域(以及之后的领域)的用例时,许多用例不需要批处理作业的开销,因此将该模型强加给进程没有意义。这让我们开始思考...
将 Spring XD 重构为 Spring Cloud Data Flow 也为我们提供了一些见解。在查看现代应用程序运行时,如 Cloud Foundry、Mesos、YARN 和 Kubernetes 时,我们发现它们大多数都提供了对短生命周期应用程序的支持。然而,用户与它们的交互方式、结果跟踪方式等在不同的运行时之间是不同的。在 Cloud Foundry 上,Diego 提供了任务的概念,但其结果是短暂的。在 YARN 上,有 Job History Server,可能已配置,也可能未配置。Kubernetes 在作业完成后会保留 pod。
提供一种平台无关的、构建有限数据微服务的一致方式,并提供操作和功能特性,这将非常有用...
Spring Cloud Task 源于这样一个想法:在企业环境中需要执行一些不需要长时间运行的应用程序的功能。
Spring Cloud Task 提供以下能力
@EnableTask
注解,无需额外的代码即可获得 Spring Cloud Task 的能力。PartitionHandler
,允许为分区作业启动 worker 作为任务。上面提到的所有主要功能在 1.0.0.RC1 版本中都已提供,可以在这里阅读。此版本的不同之处在于依赖项已被重构,因此您不再需要包含 spring-cloud-task-core
以及任何其他所需的任务模块,现在只需包含 spring-cloud-task-starter
依赖项和您想要获得预期功能的其他 spring 模块即可。
例如,如果开发人员想要编写一个作为任务运行的批处理作业,以前需要在 pom 中包含 spring-cloud-task-core
、spring-cloud-task-batch
和 spring-boot-starter-batch
,现在您只需包含 spring-cloud-task-starter
和 spring-boot-starter-batch
即可。批处理功能将为您自动引导(与所有 Boot 自动配置一样,提供简单的覆盖选项)。
Spring Cloud Task 现已全面可用 (GA),我们很高兴听取您的意见。我们的短期重点是改进 Spring Cloud Task 与 Spring Cloud Data Flow 及其支持的运行时的互操作性。同时,我们期待听到您在下方评论区、StackOverflow 和 Twitter 等在线平台以及下个月 Spring One Platform 上的当面交流!