領先一步
VMware 提供培訓和認證,以加速您的進展。
瞭解更多我們很高興宣布 Spring Cloud Function 3.0.0.RELEASE 版本的發佈。此版本是 Spring Cloud Hoxton.RELEASE (即將推出) 的一部分,並基於 Spring Boot 2.2.x 建構。
Spring Cloud Function 3.0.0.RELEASE 模組可在 Maven Central 儲存庫中使用。
此版本引入了 FunctionCatalog
的重構實作,除了函數組合、支援反應式和非反應式函數等功能外,還透過 Spring Messaging 提供的 MessageConverters 引入了透明類型轉換。
這表示您可以在函數簽章中使用網域特定的類型,並依賴 MessageConverters
進行轉換。
@Bean
public Function<Foo, Bar> funcFooToBar() {
return value -> . . .;
}
此外,這些轉換器也用於在組合函數時轉換類型。考慮以下函數
@Bean
public Function<Flux<Baz>, Flux<Xyz>> funcBazToXyz() {
return value -> . . .;
}
組合成 spring.cloud.function.definition=funcFooToBar|funcBazToXyz
。假設上述兩個函數在 funcFooToBar
的輸出和 funcBazToXyz
的輸入之間存在不匹配,則 MessaggeConverters
將介入以轉換這些類型。另請注意 FunctionCatalog
的另一個功能,它允許您組合反應式和非反應式函數。Spring Cloud Function 提供了多個開箱即用的 MessageConverters
,應能滿足大多數情況(例如 json 到 POJO 及其反向轉換),但您也可以透過簡單地宣告 MessageConverter
類型的 bean 來註冊自己的轉換器。
Spring Cloud Function 的路由功能允許您調用一個特殊的函數,該函數充當您希望調用的實際函數的路由器。此功能在某些 FAAS 環境中非常有用,在這些環境中,維護多個函數的配置可能很麻煩,或者公開多個函數是不可能的。
您可以在使用者指南的 此章節 中取得有關此功能的更多詳細資訊。
有時資料串流需要分類和組織。例如,考慮一個經典的大數據用例,即處理包含未組織的資料,例如「訂單」和「發票」,並且您希望將每個資料放入單獨的資料儲存區。這就是函數元數(具有多個輸入和輸出的函數)支援發揮作用的地方。關於此功能的單獨文章可在此處 取得,並且此類函數的範例可在這些 測試案例 之一中找到。
更多資訊可在使用者指南的 此章節 中取得。
雖然函數組合對於 Spring Cloud Function 來說並不是一個新功能,但在此版本中已進行了改進。
作為額外的好處,您可以組合具有不同程式設計風格的函數(例如,反應式和命令式)、您可以將 Supplier 與 Function、Supplier 與 Consumer、Function 與 Consumer 等組合在一起 - 我們將進行調整。您可以組合生產者函數的輸出與消費者函數的輸入不符的函數 - 我們將進行轉換。未來將會有一篇關於此主題的單獨部落格文章,我們也正在改進文件。
雖然 v2.x 以來就存在對 Kotlin lambda 的支援,但仍有一些額外的增強功能。您可以在使用者指南的 此章節 中閱讀更多相關資訊。
一如既往,我們歡迎您的回饋和貢獻,因此請透過 Stackoverflow 或 GitHub 與我們聯繫。