Spring Cloud Data Flow 1.3 GA 版本發布

發布 | Gunnar Hillert | 2018 年 2 月 01 日 | ...

我謹代表團隊宣布 Spring Cloud Data Flow 1.3 在多個平台上正式 GA 發布

請參考本機伺服器Cloud FoundryKubernetes 的入門指南

發布重點

串流更新與回滾

將串流資料管線編排為一系列微服務應用程式,一直是 Spring Cloud Data Flow 設計的核心價值。在 Data Flow 1.3 中,我們提供了獨立更新來源、處理器和接收器的能力,而無需解除部署並重新部署整個串流。

串流更新和回滾功能是透過將部署流程委派給一個名為 Skipper 的新 Spring Cloud 專案來實作。Skipper 是一個輕量級 Spring Boot 應用程式,專為填補 Data Flow 中的此功能缺口而建置。Skipper 定義了一種套件格式,很像 helmbrew,並且還可以將應用程式部署/解除部署到多個雲端平台:Local、Cloud Foundry 和 Kubernetes。它使用與 Data Flow 自開始以來相同的 Spring Cloud Deployer 程式庫。最近在 SpringOne 2017 上的簡報 介紹了 Skipper 以及 與 Data Flow 的整合 進行了更深入的探討。

在部署串流時,Data Flow 會建立 Skipper 套件,描述串流和屬於串流定義一部分的應用程式。然後 Skipper 將應用程式部署到所需的平台。當請求串流更新時,只會自動重新部署需要變更的應用程式。由 Spring Statemachine 實例管理的簡單策略會執行更新或回滾步驟。

Data Flow 包含新的串流命令,用於執行升級和回滾操作。

dataflow:>app register --name transform --type processor --uri maven://com.eg:transformer:0.0.1

dataflow:>stream create mystream --definition "jdbc | transform | mongodb"

dataflow:>app register --name transform --type processor --uri maven://com.eg:transformer:0.0.2

dataflow:>stream update mystream --properties “version.transform=0.0.2”

dataflow:>stream rollback mystream

在一系列的命令中,串流使用轉換器的 0.0.1 版本進行部署。jdbcmongodb 來源和接收器已註冊。然後更新串流以使用轉換器的 0.0.2 版本。只更新 transform 應用程式,部署 0.0.2 版本並解除部署 0.0.1 版本。jdbcmongodb 應用程式保持不變。回滾命令執行相反的操作,將串流帶回到轉換器 0.0.1 版本的狀態。

注意:若要使用 Data Flow 和 Skipper,Data Flow 的 Skipper 功能切換 必須在 Data Flow Server 和 shell 中都啟用。

JavaDSL

DataFlowTemplate 類別一直是程式化部署串流和任務的主力。然而,它是一個相當底層的 API。我們新增了一個新的流暢樣式 API 來建立、部署或啟動串流,它更易於使用,並且還可以重複使用多個串流中的 StreamApplication 實例。

StreamApplication source = new StreamApplication("http") .addProperty("server.port", 9900);

StreamApplication processor = new StreamApplication("filter") .addProperty("expression", "payload=='good'");

StreamApplication sink = new StreamApplication("log");

Stream simpleStream = streamBuilder.name("simpleStream") .source(source) .processor(processor) .sink(sink) .create() .deploy();

透過 Stream 實例,您可以請求串流的狀態、解除部署或銷毀串流。

參考指南的 Java DSL 區段 更完整地介紹了 DSL,而 Spring Data Flow Samples 儲存庫提供了一個 範例,供您開始在專案中使用它。

Angular 4

Data Flow 儀表板已更新為利用 Angular 4 並與 Pivotal UI 樣式對齊。主要重點是一致地使用網域模型類別與直接 JSON 字串。這允許對應用程式的狀態進行更細緻的控制,例如,在從分頁列表轉換到詳細資訊頁面並返回時。使用 Compodoc 也改進了 UI 的文件

扇入和扇出視覺化

扇入是指多個來源將資料全部發送到相同的訊息傳遞目的地。扇出是指在執行階段確定訊息傳遞目的地。此影片顯示了具有這些拓撲的串流 UI 實際運作情況。

有一個新的 UI 控制項可直接從特定節點分支出來以 "點擊串流",以及另一個新的 UI 控制項來管理 具名目的地。這些新功能使建構複雜的串流拓撲更加容易。

應用程式註冊表改進

maven 構件註冊應用程式 的使用者現在可以利用 “update-policy” 功能來覆寫和重新整理 Spring Cloud Data Flow 的內部 maven 快取。例如,在開發中,您可以透過設定 update-policy=always 持續解析 maven 構件的 SNAPSHOT 版本,這將強制下載串流或批次/任務應用程式的最新版本,該版本正在 DSL/儀表板中使用。

根據使用者回饋,使用 http 資源註冊的應用程式將始終被下載,而不會被快取。這有助於更新程式碼的開發生命週期,但不會更新託管在 Web 伺服器上的應用程式 uberjar 的名稱。

在 Skipper 模式下,可以 註冊多個應用程式版本。部署串流時會使用預設版本。您可以使用新的命令 app default 設定預設版本。但是,當升級串流中的應用程式版本時,您必須先在 Data Flow 中註冊它。

Shell 改進

此版本為串流和任務/批次名稱以及其他元資料新增了「自動完成」功能。不再需要猜測 - 一切都只需按下 TAB 鍵!查看以下 螢幕錄影,以了解有關進階 shell 功能、提示和技巧的更多資訊。

函數執行器

透過使用函數執行器應用程式,提供對在 SCDF 中執行函數的初始支援。當使用 Spring Cloud Function 應用程式建立串流時,您需要傳入函數的類別名稱和 jar 位置。

dataflow:> stream create foo --definition "http | function-runner --function.className=com.example.functions.CharCounter --function.location=file:///home/john/myfunction.jar | log"

有一個 範例 可供您用於試驗此功能。簡化 Spring Cloud Functions 的部署,而無需使用者顯式調用 function-runner,這在我們的路線圖上。

應用程式

MQTT 來源MQTT 接收器 應用程式可以與 IoT 裝置互動。

TensorFlow 處理器 可以協助進行即時預測模型評估。查看它的 Twitter-sentiment 模型預測用法,以了解其概念。

為了改進資料科學功能,現在還提供 Python-HTTP 和 Python-Jython 處理器。

新的 bit.ly 連結 Celsius.SR1Clark.GA 可用於大量匯入和註冊 SCDF 中的所有現成應用程式。

簡化 Spring Cloud Functions 的部署,而無需使用者顯式調用 function-runner,這在我們的路線圖上。

Spring Cloud Data Flow Tile for PCF

Spring Cloud Data Flow 的 Cloud Foundry Tile 在過去幾個月中一直處於封閉 BETA 狀態。我們根據客戶和現場回饋進行了迭代,它已正式準備好從 BETA 畢業到 1.0 GA 狀態。此版本自動化了 Cloud Foundry 中的佈建(包括指標收集器、skipper、資料庫和訊息代理程式)以及端對端 OAuth/SSO 整合。還有許多其他附加價值,因此請繼續關注更集中的討論、文件 以及 Pivotal Network 中的 Tile 頁面的指標。

Kubernetes 的 Helm Chart

Spring Cloud Data Flow 的 helm-chart 將在 pull-request 合併後更新至最新的 1.3 GA 版本。透過此 chart,可以使用以下 helm 命令自動佈建最新版本的 SCDF 以及配套元件(指標收集器、skipper、資料庫和訊息代理程式)。

helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator helm repo update helm install --name scdf incubator/spring-cloud-data-flow --set rbac.create=tru

與往常一樣,我們歡迎回饋和貢獻,因此請透過 StackoverflowGitHub 或透過 Gitter 與我們聯繫。

請試用看看,分享您的回饋,並考慮為專案做出貢獻!

取得 Spring 電子報

隨時掌握 Spring 電子報的最新資訊

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部