Spring Cloud Data Flow 1.3 GA 釋出

釋出 | Gunnar Hillert | 2018年2月1日 | ...

我代表團隊很高興地宣佈 Spring Cloud Data Flow 1.3 在一系列平臺上普遍可用

請參閱以下入門指南:本地伺服器Cloud FoundryKubernetes

釋出亮點

流更新和回滾

由一系列微服務應用程式編排的流資料管道一直是 Spring Cloud Data Flow 設計的核心價值。在 Data Flow 1.3 中,我們提供了獨立更新源、處理器和匯的能力,而無需取消部署和重新部署整個流。

流更新和回滾功能透過將部署過程委派給一個新的Spring Cloud專案Skipper來實現。Skipper是一個輕量級的Spring Boot應用程式,專門用於彌補Data Flow中的這一功能空白。Skipper定義了一種包格式,很像helmbrew,並且還可以將應用程式部署/解除安裝到多個雲平臺:本地、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 Server和shell中都啟用Data Flow的Skipper功能開關

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控制元件可以直接從特定節點“tap a stream”,以及另一個新的UI控制元件來管理命名目的地。這些新功能使構建複雜的流拓撲變得更容易。

應用程式登錄檔改進

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

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

在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情感模型預測用例以獲取想法。

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

新的bit.ly連結Celsius.SR1Clark.GA可用於批次匯入和註冊SCDF中的所有開箱即用應用程式。

簡化Spring Cloud Functions的部署,無需使用者顯式呼叫function-runner,這已列入我們的路線圖。

PCF的Spring Cloud Data Flow Tile

Spring Cloud Data Flow的Cloud Foundry tile在過去幾個月一直處於封閉測試狀態。我們已經根據客戶和現場反饋進行了迭代,它將正式從BETA升級到1.0 GA狀態。此版本自動化了配置(包括metrics-collector、skipper、資料庫和訊息代理)以及Cloud Foundry中的端到端OAuth/SSO整合。還有許多其他增值功能,請繼續關注更集中的討論、文件以及指向Pivotal Network中tile頁面的指標。

Kubernetes的Helm Chart

一旦拉取請求合併Spring Cloud Data Flow的helm-chart將更新到最新的1.3 GA版本。透過此chart,最新版本的SCDF以及配套元件(metrics-collector、skipper、資料庫和訊息代理)可以透過以下helm命令自動配置。

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

一如既往,我們歡迎反饋和貢獻,因此請透過StackoverflowGitHubGitter與我們聯絡。

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

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有