Message Relay Game Sample Messages

Message Relay Game Sample Messages 7,7/10 6673 reviews

I have a question that is confusing me what are the differences between the types of service bus, the brokered messaging and the relayed messaging? I am not looking for it from the development perspective but I want to understand more the concept and the differences between them.

Thank you.

hhagganhhaggan

3 Answers

Service Bus Relay and Service Bus Brokered Messaging are both mechanisms for developing distributed and hybrid applications. However, they target different development and access patterns.

  • Service Bus (SB) Relay provides a simple & secure way to do service remoting, i.e., it enables you to securely expose a service hosted on a private cloud to external clients. As is the case with service remoting scenarios, clients explicitly invoke the methods exposed by the 'Relayed' service. The primary advantage of SB Relay is that the service can be exposed without requiring any changes to your Firewall settings or any intrusive changes to your corporate network infrastructure.

  • SB Brokered Messaging on the other hand provides a durable messaging platform with components such as Queues, Topics and Subscriptions. These can be used to implement complex patterns such as publish-subscribe and temporal decoupling between different parts of your application. Since the brokered messaging infrastructure can reliably store the messages, the senders and the receivers do not have to be online at the same time, or do not have to process the messages at the same pace.

Relayed messaging is thus appropriate for scenarios where you have a service that you want to expose to external clients. Clients interact with the 'Relayed' service in the same manner that they would if they were on the local network, except that they access it via the SB Relay endpoint. Since this is a service remoting scenario, response is immediate subject to network latency. However, if for whatever reason the service is unavailable at that moment, the client's request will always fail.

In the case of brokered messaging, since the send & receive operations are decoupled, the sender can continue to send messages that are reliably stored on the service regardless of whether the receiver is online or not. However, the tradeoff for this resiliency is that the request will be processed subject to receiver's ability to retrieve and process the message.

Santosh Chandwani - MSFTSantosh Chandwani - MSFT

From Azure's site:

Relay

The Service Bus Relay service enables you to build hybrid applications that run in both a Windows Azure datacenter and your own on-premises enterprise environment. The Service Bus relay facilitates this by enabling you to securely expose Windows Communication Foundation (WCF) services that reside within a corporate enterprise network to the public cloud, without having to open up a firewall connection or requiring intrusive changes to a corporate network infrastructure.

Relay also handle load balancing for you (you can have multiple applications listen at the same endpoint for the majority of the bindings).

Brokered Messaging

The second messaging solution, new in the latest release of the Service Bus, enables “brokered” messaging capabilities. These can be thought of as asynchronous, or decoupled messaging features that support publish-subscribe, temporal decoupling, and load balancing scenarios using the Service Bus messaging infrastructure. Decoupled communication has many advantages; for example, clients and servers can connect as needed and perform their operations in an asynchronous fashion.

Brokered messaging includes Queues and Topics / Subscriptions that allow you to send / receive messages asynchronously.

The main difference is that for relay, you have applications listening at an endpoint. When you send a message, the application processes that message when it is received. For brokered messaging, the message is stored when it is received by the client and can be processed at any time.

TheDudeTheDude

I think the main difference is the synchronous vs asynchronous nature of connectivity.

Ableton live 9 suite keygen. Where relay is mostly a firewall friendly way to expose web services to the public world (even behind firewalls, NAT devices, etc), messaging is more of a way to exchange in an asynchronous way messages over queues and topics. (look at it as the next version MSMQ with cloud support :))

Everything depends on the scenario, but if you are looking for - Routing (pub/sub)- Loose coupling sender & receiver- Load levelingThen you should definitely go for messaging.

If you want to make your service easily reachable for the outside world, relay service is your friend.

Sam VanhoutteSam Vanhoutte

Not the answer you're looking for? Browse other questions tagged azureservicebusazureservicebusazure-servicebusrelay or ask your own question.