Search Tutorials


AZ-204 - Application Messaging Solutions | JavaInUse

AZ-204 - Application Messaging Solutions

Azure Storage Queues

Azure Storage Queues provide simple, cost-effective message queuing backed by Azure Storage accounts. They support storing large numbers of messages (up to 500 TB per queue) with individual messages up to 64 KB in size.

Storage Queue Features

Simple HTTP/HTTPS API

Messages are accessed via REST API or Azure SDK. Operations include enqueue, dequeue, peek, update, and delete. Authentication uses storage account keys or SAS tokens.

Visibility Timeout

When a message is dequeued, it becomes invisible to other consumers for a configurable timeout (default 30 seconds). If not deleted within this window, it becomes visible again for reprocessing.

Message TTL

Messages have a configurable time-to-live (default 7 days, max unlimited with -1). Expired messages are automatically deleted.

Storage Queue Operations

// Create a queue client
QueueClient queueClient = new QueueClientBuilder()
  .connectionString(connectStr)
  .queueName("my-queue")
  .buildClient();

// Send a message
queueClient.sendMessage("Hello, Queue!");

// Receive messages (returns up to 32)
queueClient.receiveMessages(10).forEach(msg -> {
  System.out.println(msg.getBody().toString());
  queueClient.deleteMessage(msg.getMessageId(), msg.getPopReceipt());
});

Azure Service Bus

Azure Service Bus is an enterprise-grade message broker with queues and publish-subscribe topics. It supports advanced messaging patterns including FIFO ordering, sessions, transactions, and dead-lettering.

Service Bus Queues

Queue Features

Point-to-point communication. Messages are delivered to a single consumer. Supports duplicate detection, sessions (FIFO guarantee), transactions, dead-letter queue, and scheduled delivery.

Service Bus Topics & Subscriptions

Topics

A publish-subscribe pattern. Publishers send messages to a topic; each subscription receives a copy of the message. Subscriptions support filters (SQL, Correlation) to receive only matching messages.

Service Bus Tiers

TierFeatures
BasicQueues only, no topics, no sessions, no duplicate detection
StandardQueues + Topics, sessions, duplicate detection, shared capacity
PremiumDedicated capacity, VNet, large messages (up to 100 MB), predictable performance

Message Handling Patterns

PatternDescription
Peek LockTwo-stage receive: lock message, process, then complete or abandon. Prevents message loss.
Receive and DeleteMessage is removed immediately on receive. Simpler but risks message loss on failure.
SessionsGuarantees FIFO ordering by session ID. Only one consumer processes a session at a time.
Dead-Letter QueueMessages that cannot be delivered or processed are moved to a DLQ for inspection and reprocessing.
Scheduled MessagesEnqueue a message to appear in the queue at a specific future time.

Storage Queue vs Service Bus Queue

FeatureStorage QueueService Bus Queue
Max Message Size64 KB256 KB (Standard) / 100 MB (Premium)
Max Queue Size500 TB1-80 GB
FIFO GuaranteeNoYes (with sessions)
Topics (pub/sub)NoYes
Duplicate DetectionNoYes
TransactionsNoYes
Dead-LetteringNoYes
CostLowHigher

Key Terms

TermDefinition
Storage QueueA simple HTTP-based message queue backed by an Azure Storage account. Up to 500 TB per queue, 64 KB per message.
Service BusAn enterprise message broker supporting queues and topics with advanced features like FIFO, sessions, and transactions.
Peek LockA two-stage receive mode: the message is locked during processing and explicitly completed or abandoned.
Dead-Letter Queue (DLQ)A special sub-queue that holds messages that cannot be delivered or processed after maximum retry attempts.
SessionA Service Bus feature that guarantees FIFO ordering by grouping messages with the same session ID.
Visibility TimeoutA Storage Queue feature: the period a dequeued message is invisible to other consumers (default 30 seconds).
Exam Tips:
  • Storage Queues = simple, cheap, huge capacity (500 TB). Service Bus = enterprise, FIFO, sessions, DLQ, topics.
  • If the question asks for FIFO guarantee, the answer is Service Bus with sessions.
  • If the question asks for pub/sub (one message to many subscribers), the answer is Service Bus Topics.
  • Peek Lock is the default receive mode for Service Bus. It prevents message loss during processing.
  • Dead-letter queue is only in Service Bus, not Storage Queues.
  • Storage Queue max message = 64 KB. Service Bus Standard = 256 KB, Premium = 100 MB.
  • Service Bus Basic tier does NOT support topics or sessions.

Practice Questions

Q1. An application requires guaranteed FIFO message processing. Which solution should the developer use?

  • Azure Storage Queue
  • Azure Service Bus Queue with sessions
  • Azure Event Grid
  • Azure Event Hubs

Answer: B

Azure Service Bus Queue with sessions guarantees FIFO ordering. Messages with the same session ID are processed in order by a single consumer.

Q2. What is the maximum message size for Azure Storage Queues?

  • 1 KB
  • 64 KB
  • 256 KB
  • 1 MB

Answer: B

Azure Storage Queues support messages up to 64 KB in size. For larger messages, use Service Bus or store the payload in Blob Storage and send a reference.

Q3. Which Service Bus receive mode locks a message during processing to prevent loss?

  • Receive and Delete
  • Peek Lock
  • Batch Receive
  • Auto-Complete

Answer: B

Peek Lock is a two-stage receive: the message is locked and made invisible, the consumer processes it, then explicitly completes or abandons it. This prevents message loss if the consumer fails.

Q4. A developer needs to send a single message to multiple subscribers. Which Service Bus feature should they use?

  • Queues
  • Sessions
  • Topics with subscriptions
  • Dead-letter queue

Answer: C

Service Bus Topics implement the publish-subscribe pattern. Each subscription receives a copy of every message (or filtered messages), enabling one-to-many communication.

Q5. Which Service Bus tier supports topics and subscriptions?

  • Basic only
  • Standard and Premium
  • Premium only
  • All tiers

Answer: B

Topics and subscriptions are available in Standard and Premium tiers. The Basic tier only supports queues without advanced features like sessions, duplicate detection, or topics.

AZ-204 Developing Azure Solutions - Table of Contents

Master all exam topics with comprehensive study guides and practice questions.


Popular Posts