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