Question

Good morning.

I am trying to connect multiple Server machines to an Azure Service Bus client, which will have an Azure Service acting as a Client. The idea is that the Servers (HTTP server behind a firewall), when they connect, tell the Client (on Azure) that they are available. if the Client (on Azure) needs a particular piece of information, which only one Server should have, Azure should open a connection to that Server, make the request... etc...

Does each Service Bus Client (in this case a server) have a unique address which i can call? Anything i have seen so far is showing me how to connect multiple Clients to a single Server in Azure, or Azure to a single external Server... Is this possible?

Thanks.

Was it helpful?

Solution

I don't think Service Bus is the solution for this, at least not how your described. Its a true Bus, meaning the bus itself (the singular instance) is what your client/servers (both sides of the architecture) need to understand as their endpoint. So from the Azure side, it shouldn't know (at the transport level) that there are multiple nodes behind the bus ... just as the servers shouldn't know how many instances are feeding off the bus in Azure.

Now what you could do is have each on-site server register to its own bus. Then have an Azure component that is either public, or on a separate bus for itself. The servers call the Azure "master" when they come online, advertising their ID and their Bus address. The Azure Master can then call each directly on their specific bus (or route traffic to each specific node on behalf of another role).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top