Spring Cloud Task 1.0.1.RELEASE版本现已发布

发布 | Michael Minella | 2016年7月11日 | ...

我们高兴地宣布Spring Cloud Task 1.0.1.RELEASE版本的发布。这是Spring Cloud Task推荐的GA版本,可从Maven Central以及其他常用位置获取。

我们是如何走到这一步的?

Spring Cloud Task是Spring产品组合中数据应用程序发展的一个步骤。在我们宣布此版本时,回顾一下我们是如何走到这一步的可能会有所帮助。

它始于Spring Batch

基于Spring产品组合构建,这种有限工作负载的演变实际上始于Spring Batch。作为Spring框架的主要工作负载特定扩展之一,Spring Batch提供了以企业友好方式执行有限处理量功能。它具有多种处理模型(Tasklet与Chunk)以及可扩展性选项,允许在单个JVM内以及使用多个JVM的情况下优化数据处理。多年来,Spring Batch一直是JVM上有限处理的标准。

介绍Spring XD

Spring XD是Spring Cloud Task演变的下一步。Spring XD提供了在分布式环境中编排Spring Batch作业的能力。但是,Spring XD虽然为批处理作业的编排提供了强大的工具,但它让我们认识到需要一种比作业更抽象的工具。在查看大数据世界(以及以后)中的用例时,许多用例不需要批处理作业的开销,因此将此模型强加于进程是没有意义的。这让我们开始思考……

看看现代运行时

将Spring XD重构为Spring Cloud Data Flow也为我们提供了一些见解。在查看现代应用程序运行时(如Cloud FoundryMesosYARNKubernetes)时,我们发现它们大多数都提供了短寿命应用程序的工具。但是,用户与它们交互、跟踪其结果等方式因运行时而异。在Cloud Foundry上,Diego提供了任务的概念,但其结果是短暂的。在YARN上,存在作业历史服务器,该服务器可能已配置也可能未配置。Kubernetes在作业完成后会保留pod。

提供一种以平台无关的方式构建有限数据微服务,以及提供操作和功能特性,将非常有用……

这就是Spring Cloud Task

Spring Cloud Task源于这样一个理念:在企业环境中需要执行一些不需要长期运行应用程序的功能。

Spring Cloud Task提供以下功能:

  • 简单的编程模型 - Spring Cloud Task构建于Spring Boot之上,并为其提供了附加功能。通过使用@EnableTask注解,您可以获得Spring Cloud Task的功能,无需任何额外代码。
  • 任务存储库 - Spring Cloud Task提供了一种以平台无关的方式监控和记录任务结果的能力。因此,无论您使用的是裸机、Cloud Foundry、Kubernetes、Mesos等,操作任务的方式都保持不变。
  • 扩展点 - Spring Cloud Task提供了使用监听器扩展任务的能力。这允许您在任务之前和之后以及出现问题时执行逻辑。
  • 与Spring Batch集成 - 将Spring Batch作业作为Spring Cloud Task运行,允许通过Spring Cloud Data Flow在运行时动态管理它。Spring Cloud Task无需让作业在容器中监听等待执行,而是提供了将批处理作业作为独立任务运行或通过Spring Cloud Data Flow编排的能力,从而提高了环境的弹性。Spring Cloud Task还提供了一个PartitionHandler,允许为分区作业启动工作程序作为任务。
  • 与Spring Cloud Stream集成 - Spring XD提供了启动作业以及通过消息监控作业的能力。Spring Cloud Task为开发人员带来了相同的功能,而不会受到XD容器的影响。通过在类路径上使用正确的依赖项,Spring Cloud Task允许任务和作业(作为任务运行)发出信息消息,以及使用Spring Cloud Stream通过消息启动任务。

1.0.1.RELEASE版本的新增功能?

上面提到的所有主要功能在1.0.0.RC1版本中都可用,您可以在此处阅读相关信息。此版本的不同之处在于依赖项已重构,因此您现在无需包含spring-cloud-task-core和任何所需的附加任务模块,而只需包含spring-cloud-task-starter依赖项以及您想要获得预期功能的其他Spring模块。

例如,如果开发人员想要编写一个作为任务运行的批处理作业,则无需在pom中包含spring-cloud-task-corespring-cloud-task-batchspring-boot-starter-batch,现在您只需要spring-cloud-task-starterspring-boot-starter-batch即可。批处理功能将自动为您启动(具有与所有Boot自动配置相同的简单覆盖选项)。

下一步是什么?

Spring Cloud Task现已成为GA版本,我们很高兴听到您的反馈。我们的短期重点将是提高Spring Cloud Task与Spring Cloud Data Flow及其支持的运行时的互操作性。但是,我们期待在下面的评论中、在StackOverflowTwitter上的其他在线平台以及下个月在Spring One Platform上亲自听到您的意见!

获取Spring通讯

通过Spring通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部