先行一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多我們很高興宣佈 Spring Cloud Stream Ditmars 釋出火車正式釋出。
Spring Cloud Stream Ditmars.RELEASE 可在 Spring Release 倉庫中獲取。釋出說明包含有關與 Spring Boot、Spring Cloud、Spring AMQP 和 Spring for Apache Kafka 的版本相容性資訊。
以下部分列出了此版本中包含的新功能。
Spring Cloud Stream 實現了自動化發現和自動配置,並提供了一種簡單的方法來促進應用程式業務邏輯與 Apache Kafka 之間的互動。透過將大多數標準訊息代理特定的設定作為 Spring Boot 屬性暴露出來,它易於使用和覆蓋以適應業務需求。
進一步增強了 Apache Kafka 整合,Kafka Streams 整合已被提升為 Apache Kafka binder 實現中的頂級構造。
由於 Kafka Streams API 已內建到框架中,因此簡單和更復雜的資料處理功能都可以構建為 Spring Boot 應用程式。您只需在類路徑中包含 `spring-cloud-stream-binder-kstream` 依賴項 - 就是這麼容易上手。此整合包括分割槽級別的本地狀態,進一步簡化了事件驅動處理器、資料聚合器、連續查詢和轉換的解決方案。
以下截圖影片展示了它的實際應用。
應客戶和社群的普遍要求,我們添加了對 Apache Kafka 0.11 的支援。儘管今天已經支援,但在此版本中我們尚未將其作為預設設定。0.11 將在即將釋出的 2.0.0.RELEASE 中成為預設設定。因此,對於有興趣升級到此版本的早期採用者,我們將其作為一個獨立 Artifact 釋出了。
藉助 @hekonsek 的貢獻,新增了一個指標,可用於分析消費者延遲。這有助於處理是否根據動態流量模式自動伸縮消費者的情況。
如果減少 I/O 足跡是一個要求,現在在 RabbitMQ binder 實現中支援“延遲佇列”。同樣,也支援“延遲佇列”的 DLQ 功能。
RabbitMQ 的典型橫向擴充套件設定涉及透過負載均衡器連線的一組 RabbitMQ 節點。在節點故障時,為了適應並恢復,現在透過重試機制提供了最終恢復的修復方案。
為了避免共享連線被繁忙的生產者阻塞時消費者端發生死鎖,此版本添加了對非事務性生產者的獨立連線工廠的支援。
社群驅動的 Amazon Kinesis 的 binder 實現取得了顯著進展;然而,考慮到 Spring Cloud 生態系統專案的上游依賴關係,它未能進入 Ditmars 釋出火車。我們希望繼續保持勢頭,並在即將到來的 2.0.0 里程碑中將 kinesis-binder 畢業。我們要感謝社群倡導者 Peter Oates (@oatesp) 和 Jacob Severson (@JacobASeverson) 投入的寶貴時間和高質量貢獻。
Ditmars 釋出火車重新審視了核心框架中的錯誤處理支援。我們簡化了生產者和消費者級別的異常處理。例如,有一個錯誤通道(`
#Spring Cloud Stream 2.0
1.3 版本標誌著 1.x 系列和 Boot 1.5 的最後一次迭代。下一個主要釋出火車(Elmhurst)將完全重寫幾個核心功能。正在考慮的主題包括:Spring Boot 2.0 相容性、更好的內容型別解析、進一步簡化的錯誤處理體驗以及更智慧的繫結生命週期鉤子來啟動、停止和暫停消費者。這正在積極開發中,我們希望在 SpringOne Platform 2017 之前達到穩定的釋出候選版本狀態。我們對正在進行的工作感到興奮!
最後,此版本包含各種錯誤修復和改進。有關更多詳細資訊,請參閱釋出說明中專案級別的釋出標記。
一如既往,我們歡迎反饋和貢獻,因此請透過 Stackoverflow、GitHub 或透過 Gitter 聯絡我們。