问题
I am currently looking at NServiceBus as a candidate within my architecture and have a pretty good idea what it is and can do. I do have trouble finding a direct answer to one question that I still have. I know that it is build in .NET. It is unclear to me if .NET is a limitation to the publishers & consumers (endpoint?) as well.
Simply put, using (for example) Azure ServiceBus I can post a message on a queue with a nodejs application, and a consumer could be an Azure Function (triggered) written in say Java. Or an application/service written in Python. Does using NServiceBus put a limit on the technology in which publisher/consumer is written ? (so far, to me, it seems so).
Thanks for clarifying this cloud in my brain ;-)
Cheers!
回答1:
Does using NServiceBus put a limit on the technology in which publisher/consumer is written?
Short answer - it is not. You can use NServiceBus in part of your systems where other parts are running on different platforms and created in other languages. NServiceBus treats this kind of integrations as "native" integrations.
As you have mentioned Azure Service Bus as your underlying communication technology, you could look at the Native Integration with Azure Service Bus Transport sample that demostrates how to connect non-NServiceBus code with NServiceBus endpoint. While the sender in the sample is a .NET code, it could be swapped out with Java or any other language you're using to send/receive messages.
回答2:
It is not. However you should be ready to provide your messages with an extra NServiceBus metadata and configure message routing properly.
来源:https://stackoverflow.com/questions/47334994/nservicebus-limitations-consumers-endpoints