What could be a strategy to gradually migrate transport in an enterprise?

we have many services deployed inside our enterprise, all running with msmq transport and xml serialization.
Give the nature of nservicebus, how could be a strategy to gradually migrate one enpoint at time to a different transport like sql ?



One way that comes to my mind is using NServiceBus.Bridge as a way to move messages from one transport to the other. Here’s the documentation.

As bridge is payload-agnostic you might also need to set up additional deserializers if both sides of the bridge use different serialization formats (e.g. XML and JSON).

Last but not least, different transports support different consistency modes. If you with to bridge MSMQ and SQL transports you need to ensure that the bridge can use Distributed Transaction Coordinator (DTC) to ensure that sending/receiving is done atomically. Otherwise messages might get duplicated when going over the bridge.

Also note that the Bridge is currently developed as a community project.


Hi Szymon,
i did not know it existed ! i’ll read the docs to learn how to use.