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!
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.
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.