avatarAshish Patel

Summary

Azure Storage Queue provides a basic message queuing service with large message storage capacity, while Azure Service Bus Queue offers a more advanced messaging service with features like FIFO delivery, message grouping, and transaction support.

Abstract

Azure Storage Queue is designed for storing massive numbers of messages with a simple REST-based interface, accessible via HTTP or HTTPS. It is suitable for creating a backlog of work for asynchronous processing. In contrast, Azure Service Bus Queue is a feature-rich service that supports advanced messaging scenarios, including FIFO message delivery, message sessions for ordering, and transactions. Service Bus Queues offer delivery guarantees, dead lettering, and role-based access control, catering to more complex application architectures. The choice between the two depends on the specific requirements of the application, such as message size, queue size, delivery guarantees, and additional messaging features.

Opinions

  • The author suggests that Azure Storage Queue is ideal for simpler use cases where the primary need is to store a large number of messages.
  • Azure Service Bus Queue is recommended for scenarios that require more sophisticated messaging patterns, such as FIFO, transactions, and role-based access.
  • The article implies that Azure Storage Queue is more cost-effective for large-scale message storage due to its unlimited queue size and lack of upper limit on concurrent clients.
  • Service Bus Queue is portrayed as more suitable for applications that necessitate features like duplicate detection, dead lettering, and fine-grained access control.
  • The author emphasizes the importance of choosing the right queue type based on the application's needs, whether it be the simplicity of Storage Queue or the advanced capabilities of Service Bus Queue.
  • The article concludes by offering additional resources for readers interested in learning more about Azure services, indicating a comprehensive approach to understanding Azure's messaging solutions.

Azure — Difference between Azure Storage Queue and Service Bus Queue

Comparison — Azure Storage Queue vs Azure Service Bus Queue

Awesome Azure — Azure Storage Queue vs Azure Service Bus Queue

TL;DR:

Storage Queue is a simple message queuing service to store large numbers of messages. Service Bus Queue is part of a broader messaging service that supports queuing, publish/subscribe, and more advanced integration patterns.

Storage queues and Service Bus queues have slightly different feature sets. You can choose either one or both, depending on the needs of your particular solution. Azure Storage Queues are simpler to use but are less sophisticated and flexible than Service Bus queues.

Azure Storage Queue

This service offers large numbers of messages storage. You access messages from anywhere via authenticated calls using HTTP or HTTPS. A queue may contain millions of messages. Queues are commonly used to create a backlog of work to process asynchronously.

Azure Service Bus Queue

This service offers FIFO message delivery to one or more competing consumers. A key benefit of using queues is to the producers (senders) and consumers (receivers) don’t have to send and receive messages at the same time.

Key Differences

Ordering Service Bus: Ordering guarantee (through the use of messaging sessions) Storage Queue: No ordering guarantee.

Delivery Service Bus: At-Most-Once (ReceiveAndDelete receive mode) or At-Least-Once (PeekLock receive mode) Storage Queue: At-Least-Once

Maximum Queue Size Service Bus: 1 GB to 80 GB Storage Queue: 500 TB (limited to a storage account capacity)

Maximum Message Size Service Bus: 256 KB (standard tier) or 100 MB (premium tier) Storage Queue: 64 KB (48 KB when using Base64 encoding)

Dead Lettering Service Bus: Supported. Storage Queue: Not supported.

State management Service Bus: Supported Storage Queue: Not supported

Message groups Service Bus: Supported (through the use of messaging sessions) Storage Queue: Not supported

Duplicate detection Service Bus: Supported Storage Queue: Not supported

Maximum number of queues Service Bus: 10,000 Storage Queue: Unlimited

Maximum number of concurrent clients Service Bus: 5,000 Storage Queue: Unlimited

Purge queue Service Bus: Not supported Storage Queue: Supported

Access mode Service Bus: Lock-based Storage Queue: Lease-based

Lease/Lock duration Service Bus: 60 seconds (default) Storage Queue: 30 seconds (default), 7 days (maximum)

Lease/Lock precision Service Bus: Queue level Storage Queue: Message level

Server-side transaction log Service Bus: Not supported Storage Queue: Supported

Use Cases

Choose Service Bus Queues if:

  • You need an at-most-once delivery guarantee.
  • You need a FIFO guarantee.
  • You need to group messages into transactions.
  • You want to receive messages without polling the queue.
  • You need to provide role-based access to the queues.
  • You need to handle messages larger than 64 KB but smaller than 256 KB.
  • Your queue size will not grow larger than 80 GB.
  • You would like to be able to publish and consume batches of messages.

Choose Storage Queues if:

  • You need a simple queue with no particular additional requirements.
  • You need an audit trail of all messages that pass through the queue.
  • You expect the queue to exceed 80 GB in size.
  • You want to track progress for processing a message inside of the queue.

Summary

Storage queues and Service Bus queues have slightly different feature sets. You can choose either one or both, depending on the needs of your application and its architecture.

If your requirements are simple, if you want to send each message to only one destination, or if you want to write code as quickly as possible, a storage queue may be the best option. Otherwise, Service Bus queues provide many more options and flexibility.

View more from Awesome Azure

Happy Clouding!!!

Azure
Azure Service Bus
Azure Storage
Azure Storage Queue
Cloud Computing
Recommended from ReadMedium