I currently have an on-premise setup using NServiceBus with MSMQ. There is one ServiceControl instance, which receives all error and audit messages.
Now I'm doing a new project, which will use Azure for hosting, i.e. I will host various NServiceBus endpoints in Azure (probably using Kubernetes or Service Fabric) using RabbitMQ as tansport, and I want the Azure endpoints to communicate with the on-premise endpoints and vice versa.
I stumbled upon the community-driven project NServiceBus.Bridge, which seems to be useful for this situation. But I have some uncertainties.
Is this a good approach given my described requirements?
Where would be the best location for hosting the Bridge endpoint, on-premise or Azure? Or do I need a Bridge endpoint in each location, given that I want to be able to send and publish messages in each direction?
How do I handle error, audit and control (e.g. Heartbeat) messages, since they are set up using specific NServiceBus configuration (SendFailedMessagesTo, AuditProcessedMessagesTo and HeartbeatPlugin) and therefore don't seem to be able to be sent over the bridge? I think it would be optimal if the messages could end up at my on-premise ServiceControl instance, so that I have all error/audit data in one place and thereby be able to see the full message flows in ServiceInsight.