介绍 Spring Cloud Task
今天,我们很高兴介绍 Spring 组合中的一个新项目:Spring Cloud Task。作为 Spring Cloud 项目分组的一部分以及 Spring Cloud Stream 的姊妹项目,Spring Cloud Task 旨在为基于 Spring Boot 的应用带来支持短生命周期微服务所需的功能。通过这篇博文,我们发布了该项目的第一个里程碑版本,并期待您的意见和反馈。
Spring Cloud Task 的目标
在大多数情况下,现代云环境是围绕着执行预期不会结束的进程(例如 Web 应用或流模块)而设计的。如果它们结束了,平台会将其视为故障,并通常会重新启动它们。虽然许多平台确实有一些方法来执行预期会结束的进程(例如批处理作业),但执行结果通常不会以易于使用的方式保留下来。然而,对于关键任务应用,即使它们的生命周期很短,它们仍然具有与长生命周期进程相同的非功能性需求。
虽然此功能在云环境中很有用,但在传统部署模型中也可能出现相同的问题。当通过 cron 等调度器执行 Spring Boot 应用时,能够在应用完成之后监控其结果会非常有用。
Spring Cloud Task 采取的方法是,一个 Spring Boot 应用可以有开始和结束,并且仍然是生产级的。批处理应用只是短生命周期进程有用的一个例子。
入门
在 Spring Cloud Task 的第一个版本中,我们介绍了配置机制的基础知识,以及用于记录任务执行情况的仓库。熟悉 Spring Batch 及其作业仓库的人会发现 Spring Cloud Task 的一般范例很熟悉。
要熟悉 Spring Cloud Task,最简单的方法是编写一个应用。文档会引导您创建并执行第一个任务。您可以在此阅读更多信息。
未来方向
在即将发布的版本中,Task 将成为 Spring Cloud Data Flow 中的一个新基本元素,允许用户将几乎任何 Spring Boot 应用作为短生命周期的任务执行。这提供了以动态方式运行从简单的 CommandLineRunner
到完整的批处理作业的灵活性,允许按需消耗资源并在完成后返回。即将发布的版本,包括计划在 Spring Cloud Data Flow 1.0 GA 之前发布的 Spring Cloud Task 1.0 GA,将添加功能来支持这项工作。
告诉我们您的想法!
Spring Cloud Task 是一个令人兴奋的新项目,我们认为它填补了企业开发中一个服务不足的领域。然而,我们想知道您的想法。请通过 Github Issues、StackOverflow 或直接在 Twitter 上告诉我们!