- 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.
- SCRATCH與機器人
- Learning Apache Spark 2
- Hands-On Neural Networks with Keras
- Learning Social Media Analytics with R
- Hands-On Linux for Architects
- 大學C/C++語言程序設計基礎
- Troubleshooting OpenVPN
- 大數據驅動的機械裝備智能運維理論及應用
- 單片機技術一學就會
- Godot Engine Game Development Projects
- 大數據技術基礎:基于Hadoop與Spark
- Spatial Analytics with ArcGIS
- Visual Studio 2010 (C#) Windows數據庫項目開發
- WOW!Photoshop CS6完全自學寶典
- AVR單片機工程師是怎樣煉成的