领先一步
VMware 提供培训和认证,助您快速提升技能。
了解更多我们高兴地宣布Spring Cloud Task 1.0.1.RELEASE版本的发布。这是Spring Cloud Task推荐的GA版本,可从Maven Central以及其他常用位置获取。
Spring Cloud Task是Spring产品组合中数据应用程序发展的一个步骤。在我们宣布此版本时,回顾一下我们是如何走到这一步的可能会有所帮助。
基于Spring产品组合构建,这种有限工作负载的演变实际上始于Spring Batch。作为Spring框架的主要工作负载特定扩展之一,Spring Batch提供了以企业友好方式执行有限处理量功能。它具有多种处理模型(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现已成为GA版本,我们很高兴听到您的反馈。我们的短期重点将是提高Spring Cloud Task与Spring Cloud Data Flow及其支持的运行时的互操作性。但是,我们期待在下面的评论中、在StackOverflow和Twitter上的其他在线平台以及下个月在Spring One Platform上亲自听到您的意见!