領先一步
VMware 提供培訓和認證,助您飛速提升。
瞭解更多我很高興代表團隊宣佈 Spring Cloud Stream Chelsea.RC1 釋出。Spring Cloud Stream Chelsea.RC1 已在 Spring Milestone 倉庫中可用,其功能詳細描述請參見參考文件。有關構建制品和更改的完整列表,請查閱釋出說明。
以下是新版本帶來的主要新功能和改進摘要
我們添加了對根據基於 SpEL 的條件將訊息分發到註冊在輸入通道上的多個 @StreamListener 方法的支援。這使得編寫訊息驅動的微服務更加靈活,尤其適用於 DDD/ES/CQRS 場景,其中不同型別的事件可以直接分發到其處理方法。
@EnableBinding(Sink.class)
@EnableAutoConfiguration
public static class {
@StreamListener(target = Sink.INPUT, condition = "headers['type']=='customer'")
public void handleCustomerEvent(@Payload CustomerEvent customerEvent) {
// handle the message
}
@StreamListener(target = Sink.INPUT, condition = "headers['type']=='order'")
public void handleOrderEvent(@Payload OrderEvent orderEvent) {
// handle the message
}
}
Spring Cloud Stream 添加了一個額外的模組,可以在專用通道上匯出 Spring Boot 指標。您現在可以透過簡單地將該模組新增到 classpath 並提供目標目的地來從您的應用程式收集指標,具體描述參見參考文件。預設情況下,該模組匯出 Spring Integration 指標(包括繫結通道指標),但也可以新增其他指標。這使得 Spring Cloud Stream 應用程式中的流量監控得到了第一類支援。
Schema 支援的新功能包括 schema 搜尋和客戶端級別快取,後者為序列化支援帶來了顯著的效能改進。
RabbitMQ 繫結器現在支援自定義目的地型別及其屬性,包括支援 Direct Exchanges 和訊息的 TTL 設定。
從該版本開始,Spring Cloud Stream 引入了一個新的 provisioning SPI,它抽象了目標 Broker 上目的地(topics, exchanges, queue)的建立和配置。這使得繫結器的基礎設施管理和訊息傳遞方面能夠更好地分離關注點。
在接下來的幾周內,我們將專注於錯誤修復和文件/示例改進,為 GA 版本做準備。
除此之外,以下是我們未來路線圖中的幾個規劃專案
在 Chelsea.RELEASE 之後:釋出一些配套整合(不屬於釋出火車,但已與核心支援整合,目標是在未來納入釋出火車)
JMS 繫結器,原生支援 Active MQ;
升級Google Pub Sub 繫結器的客戶端庫;
基於現有概念驗證的基於 Reactive Streams 的繫結器;
基於現有概念驗證的 Kafka Streams 繫結器;
在未來的 Chelsea 服務版本中:改進錯誤處理和 DLQ 管理;
我們還計劃開始開發 Spring Cloud Stream 2,支援 Spring 5 和 Spring Integration 5。
感謝所有參與者的支援。特別要感謝透過提交問題或提供補丁為本次釋出做出貢獻的社群成員
Donovan Muller (@donovanmuller)
Nicholas Byl (@nbyl)
Maxim Kirilov (@maximkir)
唐睿 (@tangrui)
Jose A. Iñigo (@codependent)
Dennis Melzer (@sirwayne)
Wallace Wadge (@wwadge)
Barry Commins (@barrycommins)
Reda Alaoui(@reda-alaoui)
一如既往,歡迎所有貢獻,社群支援是我們成功的基石!您可以透過GitHub、Stack Overflow、Gitter 或 Twitter(標籤 #Stream 或 #SpringCloudStream)與我們保持聯絡。
最後但同樣重要的是,一系列由社群為社群舉辦的 Spring 活動即將舉辦,就在您附近
搶票或提交演講議題!