介绍 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,最简单的方法是编写一个应用程序。文档将引导您完成初始任务的创建和执行。您可以在此处阅读更多相关信息。
未来规划
在接下来的版本中,任务将成为 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 上告诉我们!