title: Message ordering delivery for Queues and Topics/Subscriptions with Azure Service Bus
body: <p>I am confused with whether or not message ordering delivery is supported by default for Queue and Topic.</p>
  
  <p>It said below FIFO message delivery is supported for Queue. I assume this is the same as message ordering delivery.</p>
  
  <blockquote>
    <p>Queues offer First In, First Out (FIFO) message delivery to one or more competing consumers.
    <a href="https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-queues-topics-subscriptions" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-queues-topics-subscriptions</a></p>
  </blockquote>
  
  <p>However, why is Enabling Sessions required as the screenshot below shown.</p>
  
  <blockquote>
    <p>To realize a FIFO guarantee in Service Bus, use Sessions.</p>
  </blockquote>
  
  <p><a href="https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions</a></p>
  
  <p><a href="https://i.stack.imgur.com/U2UI5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/U2UI5.png" alt="enter image description here"></a></p>
  
  <p><strong>Topics and Subscriptions</strong> </p>
  
  <p>What about FIFO for Topics and Subscriptions?</p>
  
  <p><strong>Update</strong></p>
  
  <p>My question is: </p>
  
  <p>Is message ordering delivery (FIFO) supported by default for Queues and Topics/Subscriptions, without using Sessons? Other brokers like RabbitMQ supports this by default if I remember correctly.</p>
  
  <p>Am I correct that if I want FIFO for all messages in the Queue even thought I don't need sessions of ordered message, I need to enable Sessions?</p>
  
  <p>For example:</p>
  
  <p>All messages in the queue with ordering: I need all message ordering preserved without enabling session:</p>
  
  <pre><code>1, 2, 3, 4, ... n
  </code></pre>
  
  <p>Sessions of ordered messages: I don't want to enable sessions </p>
  
  <pre><code>session 1: 1, 2, 3, n
  
  session 2: 1, 2, 3, n
  
  session n: 1, 2, 3, n
  </code></pre>
  
  <p>Is this requirement of enabling session only to preserve message ordering cubersome, even when I don't want sessions of messages?</p>