W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
對于已在應(yīng)用程序上下文中注冊了SchemaRegistryClient bean的應(yīng)用程序,Spring Cloud Stream自動為架構(gòu)管理配置Apache Avro消息轉(zhuǎn)換器。由于接收消息的應(yīng)用程序可以輕松訪問可以與自己的讀取器模式進(jìn)行協(xié)調(diào)的寫入器模式,因此這簡化了模式的演變。
對于出站消息,如果通道的內(nèi)容類型設(shè)置為application/*+avro
,則激活MessageConverter
,如下例所示:
spring.cloud.stream.bindings.output.contentType=application/*+avro
在出站轉(zhuǎn)換期間,消息轉(zhuǎn)換器嘗試使用SchemaRegistryClient
推斷每個出站消息的模式(基于其類型)并將其注冊到主題(基于有效負(fù)載類型)。如果已經(jīng)找到相同的模式,則將檢索對其的引用。如果不是,則注冊架構(gòu),并提供新的版本號。通過使用以下方案,將消息與contentType
頭一起發(fā)送:application/[prefix].[subject].v[version]+avro
,其中prefix
是可配置的,而subject
是從有效負(fù)載類型推導(dǎo)出來的。
例如,類型為User
的消息可能作為二進(jìn)制有效載荷發(fā)送,其內(nèi)容類型為application/vnd.user.v2+avro
,其中user
是主題,2
是版本號。
接收消息時,轉(zhuǎn)換器從傳入消息的標(biāo)頭中推斷模式引用,并嘗試檢索它。該模式在反序列化過程中用作編寫器模式。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: