领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我们很高兴地宣布 Spring Cloud Task 1.0.1.RELEASE 版本现已发布。这是 Spring Cloud Task 推荐的 GA(通用可用)版本,可通过 Maven Central 和其他常规渠道获取。
Spring Cloud Task 是 Spring 组合中数据应用程序演进过程中的一步。在发布此版本之际,回顾我们走到这一步的过程可能会有所帮助。
基于 Spring 组合,此类有限工作负载的演进实际上始于 Spring Batch。Spring Batch 作为 Spring 框架最重要的特定工作负载的扩展,提供了以企业友好方式执行有限处理量的功能。它提供了多种处理模型(Tasklet 对比 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 上,有作业历史服务器,但可能已配置也可能未配置。Kubernetes 在作业完成后会保留 pod。
提供一种独立于平台的方式来构建有限数据微服务,并同时提供操作和功能特性,这将非常有用……
Spring Cloud Task 的诞生源于这样一个理念:企业环境中存在一些无需长时间运行的应用程序即可执行的功能。
Spring Cloud Task 提供以下功能:
@EnableTask 注解,无需额外代码即可获得 Spring Cloud Task 的功能。PartitionHandler,允许将工作进程作为分区作业的任务启动。上面提到的所有主要功能在 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 现在已正式发布,我们非常期待您的反馈。我们的短期重点将是改进 Spring Cloud Task 与 Spring Cloud Data Flow 及其支持的运行时的互操作性。此外,我们期待在下方的评论区、其他在线渠道(如 StackOverflow 和 Twitter)以及在下个月的 Spring One Platform 大会上听到您的声音!