Windows Azure Queue vs Service Bus Queuue

In Microsoft Azure, we have two implementations of Queues, Windows Azure Queues and Service Bus Queues. Both the Queues are the internally implemented using Message Queuing service offered on Windows Azure.

We should prefer Windows Azure Queues for the following scenarios:-

  • When the application needs to store over 5 GB worth of messages in a Queue and the life time of messages are shorter than 7 days
  • When server-side log is required for all transactions executed against Queues
  • When the application requires flexible leasing to process messages

We should prefer Azure Service Bus Queues for the following scenario :-

  • When the application requires full integration with .NET WCF
  • When message batches need to be published and consumed
  • When the message size handled by the application is between 64 KB and 256 KB
  • When the application requires “At most once” guaranteed delivery without the need to build additional infrastructure components
  • When the application requires First-In-First-Out (FIFO) delivery
  • When the Queue Size does not exceed 5 GB
  • When role-based access to Queue is required
  • When the application requires Automatic Duplicate detection
  • When the application Requires Atomicity and Transactional behavior when sending or receiving multiple messages from Queue
  • When the message retrieval does not require polling
  • When the Time-to-Live (TTL) characteristics of application-specific workload can exceed 7 day window

More detailed guidance, soft limits, Thresholds is given in http://msdn.microsoft.com/en-us/library/hh767287.aspx

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.