Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure Service Bus and Messaging Sessions

I've been looking into Azure Service Bus Queues (NOT Azure Storage Queues). All of the details that I have read indicate that it supports FIFO semantics, but only in the context of a "Messaging Session". The problem is that I can't seem to find any information on what exactly this is in the context of Azure. Is this a WCF construct, or something that is particular to Azure Service Bus? I assume that it does not relate to local transactions, but I am not 100% sure.

Any pointers would be very helpful. Thanks!

like image 412
Erick T Avatar asked Aug 28 '12 00:08

Erick T


2 Answers

Specifically it refers to MessageSession, and it's the AcceptMessageSession method that holds the key by returning messages only for a given session id, which could be a sequence implying some ordering. The Brokered Messaging: Session Messages sample should help clarify, and the Best Practices document is another great reference.

like image 56
Jim O'Neil Avatar answered Nov 06 '22 05:11

Jim O'Neil


Taken from MSDN:

SessionId: If a message has the Microsoft.ServiceBus.Messaging.BrokeredMessage.SessionId property set, then Service Bus uses the SessionId property as the partition key. This way, all messages that belong to the same session are handled by the same message broker. This enables Service Bus to guarantee message ordering as well as the consistency of session states.

For a coding sample employing SessionId and AcceptSessionReceiver see.

like image 35
participant Avatar answered Nov 06 '22 05:11

participant