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 Framework 的主要工作負載特定擴充功能之一,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 上,可能有或可能未配置 Job History Server。 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-starter 依賴項和您想要獲得預期功能的其他 spring 模組,而不是包含 spring-cloud-task-core 和任何其他所需的任務模組。

例如,如果開發人員想要編寫作為任務運行的批次任務,現在只需要 spring-cloud-task-starterspring-boot-starter-batch,而不是需要在 pom 中使用 spring-cloud-task-corespring-cloud-task-batchspring-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 社群中所有即將舉行的活動。

查看全部