In today’s post I’d like to talk about Azure Queues. There are currently 2 queue options available – Storage Queues and Service Bus Queues. Let me tell you about the benefits of each, as well as the scenarios each are best for.
The first to Azure were Azure Storage Queues and are part of Azure storage. They feature a simple rest interface with Get, Put and Peak commands. Storage Queues are a reliable, persistent messaging mechanism for working within and between various services and environments.
Service Bus Queues are at the heart of the broader Azure messaging infrastructure which supports Pub Sub and other advanced patterns. These queues also have more support for integrating applications or parts of applications which can then span multiple communication protocols, data contracts, trust domains and network environments.
As Service Bus Queues were introduced later in Azure, they have significantly more options to meet solution application requirements that arise in your environment. Let’s take a look at 3 reasons for each that you may choose one over the other.
Storage Queues – Use if:
- you need to store over 80 GB of messages in your queue. A better option if you retain that history in your queue, know you’ll have a lot of messages sitting there or have larger messages.
- you want to track progress of the messages, so if you need to know where it is in the process of the queue and track all that’s going on with a message.
- you require service-side logs for all transactions against your queue.
Service Bus Queues – Use if:
- you require first in/first out (FIFO) guarantees in your queue. There are many requirements around FIFO guarantees so Service Bus Queues are your best bet.
- you require role-based access to your queues from different senders and receivers.
- you need to be able to publish and consume batches of messages at a time.
There are many other differenences between these two products, but hopefully I’ve given you a starting point for selecting the best queue for your workload.
Need further help? Our expert team and solution offerings can help your business with any Azure product or service, including Managed Services offerings. Contact us at 888-8AZURE or [email protected].