- Hands-On Microservices with C#
- Matt R. Cole
- 202字
- 2021-07-23 17:25:22
How does message versioning work?
Let's stop for a second and think about what's happening here. When we publish a message, EasyNetQ usually creates an exchange for the message type and publishes the message to that exchange:

Subscribers create queues that are bound to the exchange and therefore receive any messages published to it:

With message versioning enabled, EasyNetQ will create an exchange for each message type in the version hierarchy and bind those exchanges together. When you publish the MyMessageV2 message, it will be sent to the MyMessageV2 exchange, which will automatically forward it to the MyMessage exchange.
When messages are serialized, EasyNetQ stores the message type name in the type property of the message properties. This metadata is sent along with your message to any subscribers, who can then use it to deserialize the message.
With message versioning enabled, EasyNetQ will also store all the superseded message types in a header in the message properties. Subscribers will use this to find the first available type that the message can be deserialized into, meaning that even if an endpoint does not have the latest version of a message, so long as it has a version, it can be deserialized and handled.
- Managing Mission:Critical Domains and DNS
- Hands-On Cybersecurity with Blockchain
- JBoss ESB Beginner’s Guide
- Supervised Machine Learning with Python
- Red Hat Linux 9實務自學手冊
- Hands-On Reactive Programming with Reactor
- TensorFlow Reinforcement Learning Quick Start Guide
- 基于企業(yè)網(wǎng)站的顧客感知服務質(zhì)量評價理論模型與實證研究
- 計算機組成與操作系統(tǒng)
- 大型機系統(tǒng)應用基礎
- SQL語言與數(shù)據(jù)庫操作技術大全
- 暗戰(zhàn)強人:黑客及反黑客工具快速精通
- Modern Big Data Processing with Hadoop
- Building Smart Drones with ESP8266 and Arduino
- 智能機器人創(chuàng)新熱點與趨勢