Skip to main content

Azure Queue Storage / Service Bus

"Queues = async messaging; decouple producers and consumers"


Two options in Azure

  • Queue Storage — simple queue; part of Storage account; cheap; at-least-once delivery
  • Service Bus Queues — richer messaging (sessions, dead-letter, duplicate detection); separate namespace

Memory hook

"Queue = FIFO-style; producer sends, consumer receives; decouple and scale"


Queue Storage (Storage Account)

  • Container for messages (not Blob containers; queue is its own resource)
  • Put message — producer adds message (text or base64)
  • Get message — consumer receives; message becomes invisible for visibility timeout
  • Delete message — consumer deletes after processing (or it reappears after timeout)
  • Peek — look at message without dequeue
  • Max message size — 64 KB (Queue Storage); 256 KB–1 MB (Service Bus, tier-dependent)

Use case

  • Simple async work (e.g. “process this job”); low cost; no need for sessions or complex routing

Service Bus Queues

  • NamespaceQueue (or Topic for pub/sub)
  • Send — producer sends message to queue
  • Receive — consumer receives (peek-lock or receive-and-delete)
  • Complete — consumer completes message (removes from queue)
  • Abandon — message becomes visible again
  • Dead-letter — move failed messages to dead-letter queue
  • Sessions — ordered processing per session ID
  • Duplicate detection — optional dedup by message ID
  • TTL — message expiration

Use case

  • When you need dead-letter, sessions, duplicate detection, or larger messages; enterprise integration

Flow (simplified)

  1. Producer sends message to queue
  2. Message is stored until consumed or TTL
  3. Consumer receives message (and optionally deletes/completes it)
  4. If consumer fails, message becomes visible again (or goes to dead-letter in Service Bus)

Interview one-liner

"Azure has Queue Storage (simple, cheap, in Storage account) and Service Bus Queues (sessions, dead-letter, duplicate detection). Both decouple producers and consumers; use Queue Storage for simple jobs, Service Bus when you need richer features."


Cheat sheet

Queue Storage = simple, Storage account, 64 KB
Service Bus = namespace, queues/topics, dead-letter, sessions
Producer = send; consumer = receive → process → complete/delete
Visibility timeout / peek-lock = avoid double process
Dead-letter = failed messages for later inspection