Spring Cloud Data Flow 和 Skipper 2.0 GA 版本已發布

發布 | Mark Pollack | 2019 年 3 月 6 日 | ...

Spring Cloud Data Flow 團隊很高興宣布 Data Flow 2.0 版本已發布。請依照入門指南,在 LocalCloud FoundryKubernetes 上執行。

同時發布的還有 Spring Cloud Skipper2.0 版本。如果您想將 Skipper 與 Data Flow 分開使用,參考指南中的入門章節是最佳起點。

Data Flow 的重點功能如下

  • 串流部署一律委派給 Skipper

  • 可在所有支援平台上執行的單一伺服器

  • 針對多個平台啟動任務

  • UI 改善

  • 標準化 OAuth2 和 OpenID Connect 以確保安全性

  • 已部署應用程式的指標和監控功能已改進

  • 使用 Micrometer 更新分析功能

  • 資料庫遷移支援

  • 更新至 Boot 2.1

  • 更新內部元件以使用 JPA

  • 任務/Job 執行和效能改善

串流部署一律委派給 Skipper

在 1.x 系列的 Data Flow Server 中,串流可以直接由 Data Flow Server 部署,或委派給 Skipper 部署。這導致了兩種操作模式:「經典」和「skipper」。現在只有一種部署串流的選項,即透過 Skipper,它可以部署到所有支援的平台,並為長期執行的串流應用程式提供滾動升級和降級功能。在架構上,任務仍然像以前一樣由 Data Flow 伺服器部署,但現在可以跨不同平台部署。請參閱下文以了解更多關於該功能的資訊。

The Spring Cloud Data Flow Stream Architecture

可在所有支援平台上執行的單一伺服器

我們已將 Local、Cloud Foundry 和 Kubernetes 伺服器整合到單一伺服器中,不再需要根據您想要執行的平台選擇不同的 jar 或 docker 映像檔。每個平台的入門步驟大致保持不變。一個重大的變更是任務的配置方式,請參閱下文,因為我們現在支援跨不同平台啟動任務的功能。長期執行的應用程式可以像之前的版本一樣跨不同平台部署。

針對多個平台啟動任務

當啟動任務時,您可以指定任務將在哪個平台執行。先前,此功能僅適用於串流和應用程式部署。Data Flow 伺服器可讓您配置多個 Kubernetes 和 Cloud Foundry 任務平台。當您想要針對多個平台協調資料管線,但從中央位置管理它們時,這特別有用。

例如,如果您在 org1/space1 中的 Cloud Foundry 上執行 Data Flow,則可以在 org2/space2 或 Kubernetes 叢集的命名空間中啟動任務。同樣地,如果您在 namespace 中的 Kubernetes 上執行 Data Flow,則可以在 namespace2 或 Cloud Foundry 上的 org1/space1 中啟動任務。如果在本機執行 Data Flow 伺服器,您可以指定不同的本機任務平台,例如使用不同的 JVM 屬性,作為使用任務部署屬性的替代方案。文件說明如何為 LocalCloud FoundryKubernetes 配置多個任務平台

The Spring Cloud Data Flow Task Architecture

UI 改善

  • UI 支援針對後端平台集合啟動任務。

  • UI/UX 的建構在串流和任務啟動方面都具有一致的體驗。

  • 基於另一個重要的功能集,現在可以根據 Data Flow 中定義的細緻角色自動啟用/停用儀表板功能。

  • Grafana 啟動圖示已原生整合到儀表板的「串流」和「執行階段」頁面中。透過針對可用的 Micrometer 後端配置 Data Flow,只需按一下即可監控串流管線指標,例如訊息速率、錯誤計數和延遲!

  • 現在支援一個新按鈕,可回滾到串流的先前版本。

  • 分析索引標籤已移除,並已替換為指向 Micrometer 饋送的 Grafana 儀表板的連結。

  • Angular 已升級至 7.2.4

  • 根據使用者回饋,在 Job 的執行頁面中新增了一個 Job 重新啟動按鈕。

  • UI 和 Data Flow 伺服器現在支援按日期搜尋稽核記錄。

The Spring Cloud Data Flow Audit Dashboard

標準化 OAuth2 和 OpenID Connect 以確保安全性

透過採用 OAuth2 和 OpenID Connect 作為預設安全性實作,在安全性改進方面投入了大量精力。傳統的安全性選項已移除。基於 token 的授權、密碼授權類型驗證和 LDAP 整合是一些選項,並且在 UAA 作為後端的協助下,它們得到一致的支援。

新增了細緻的角色來管理串流/任務部署操作。細緻性使之更符合預期的操作,並且用戶端工具(Shell 和儀表板)也會自動適應它。

有一個範例應用程式示範如何將 Spring Cloud Data Flow 與由輕量級目錄存取協定 (LDAP) 安全性支援的 Cloud Foundry 使用者帳戶和驗證 (UAA) 伺服器搭配使用。還提供了文件和範例程式碼,說明如何設定 DataFlowTemplate 以與 OAuth2.0 搭配使用。已更新報告最近 CVE 的相依程式庫。

以下影片提供了新 OAuth2 安全性功能和使用 LDAP 支援的 UAA 的組合任務範例的逐步解說

已部署應用程式的指標和監控功能已改進

Data Flow 2.0 針對收集和顯示串流的應用程式指標引入了新的架構。Data Flow 1.4 中引入的 Data Flow 指標收集器已移除。

Monitoring Architecture

這個新架構基於在已部署的應用程式中使用 Micrometer 程式庫,將指標傳送到熱門的監控系統,然後使用 Grafana 可視化指標。 Einstein 版本系列的應用程式啟動器中的每個應用程式都包含適用於 Prometheus、InfluxDB 和 DataDog 的 Micrometer 程式庫。

我們提供了關於如何開始使用 PrometheusInfluxDB 作為在本機筆記型電腦上執行的 Data Flow 的監控系統的說明。還有關於如何開始使用 Prometheus 作為在 Kubernetes 上執行 Data Flow 時的監控系統的說明。

還提供了從 Data Flow UI 到 Grafana 儀表板的連結。還提供了兩個 Grafana 儀表板,一個顯示更以應用程式為中心的視圖,另一個顯示更以串流為基礎的視圖。以下是基於 Prometheus 的 Grafana 儀表板的螢幕截圖,顯示串流中應用程式的訊息速率。

Grafana Dashboard for applications in a stream

應用程式和串流的選取器可讓您向下導覽到感興趣的特定區域。

這是一個簡短的影片,展示了串流監控的實際運作情況。

使用 Micrometer 更新分析功能

在 Data Flow 2.0 中,Redis 計數器的使用已替換為 Micrometer 程式庫提供的計數器。Einstein 版本系列的應用程式啟動器現在提供 Counter ProcessorCounter SinkTwitter 分析範例應用程式已更新為使用新的計數器實作,並提供了 Grafana 儀表板來顯示先前 Data Flow Analytics UI 顯示的等效視圖。

Grafana Dashboard for Twitter Analytics

這是一個簡短的影片,展示了新的分析功能的實際運作情況。

資料庫遷移支援

Flyway 遷移程式碼已得到改進,並在使用一套基於 Docker 的整合測試在所有支援的資料庫中進行了測試。

更新至 Boot 2.1

Data Flow Server 2.0 版本現在基於 Spring Boot 2.1。透過這種基礎轉變,我們花了一些時間來解決技術債務並採用 Spring Boot 的新功能。隨著我們邁向 Data Flow 2.0 GA,我們將繼續解決技術債務領域和一些額外的內部重構。

更新內部元件以使用 JPA

從 Spring XD 到 Data Flow 1.x,我們保留了一些類似「鍵值對」的表格,並透過 Spring JDBC API 管理它們。我們現在已更新為使用 Spring Data JPA。

任務/Job 執行和效能改善

感謝社群成員 Nicolas Widart 針對任務執行及其相關效能問題提出的詳盡錯誤報告

新增了一個端點以避免破壞現有 REST 資源的變更,該資源現在在用戶端工具的幕後使用。透過這些變更,任務/批次執行歷史記錄的查詢速度幾乎快了 10 倍,這在批次 Job 中有數百個步驟時很有幫助。

接下來是什麼

雖然我們為 2.1 版本考慮了一些功能,但在接下來的幾個月中,重點將放在文件、入門指南、影片和整體使用者體驗上。Data Flow 的新網站也在規劃中。

另請注意,Spring Cloud Data Flow 的 1.x 系列將在本次 2.0 GA 公告日期(2020 年 3 月 7 日)起十二個月後停止維護。

保持聯繫…

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

取得 Spring 電子報

保持與 Spring 電子報的聯繫

訂閱

取得領先

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

了解更多

取得支援

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

了解更多

即將舉辦的活動

查看 Spring 社群中所有即將舉辦的活動。

檢視全部