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
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
| Tier | Features |
|---|---|
| Basic | Queues only, no topics, no sessions, no duplicate detection |
| Standard | Queues + Topics, sessions, duplicate detection, shared capacity |
| Premium | Dedicated capacity, VNet, large messages (up to 100 MB), predictable performance |
Message Handling Patterns
| Pattern | Description |
|---|---|
| Peek Lock | Two-stage receive: lock message, process, then complete or abandon. Prevents message loss. |
| Receive and Delete | Message is removed immediately on receive. Simpler but risks message loss on failure. |
| Sessions | Guarantees FIFO ordering by session ID. Only one consumer processes a session at a time. |
| Dead-Letter Queue | Messages that cannot be delivered or processed are moved to a DLQ for inspection and reprocessing. |
| Scheduled Messages | Enqueue a message to appear in the queue at a specific future time. |
Storage Queue vs Service Bus Queue
| Feature | Storage Queue | Service Bus Queue |
|---|---|---|
| Max Message Size | 64 KB | 256 KB (Standard) / 100 MB (Premium) |
| Max Queue Size | 500 TB | 1-80 GB |
| FIFO Guarantee | No | Yes (with sessions) |
| Topics (pub/sub) | No | Yes |
| Duplicate Detection | No | Yes |
| Transactions | No | Yes |
| Dead-Lettering | No | Yes |
| Cost | Low | Higher |
Key Terms
| Term | Definition |
|---|---|
| Storage Queue | A simple HTTP-based message queue backed by an Azure Storage account. Up to 500 TB per queue, 64 KB per message. |
| Service Bus | An enterprise message broker supporting queues and topics with advanced features like FIFO, sessions, and transactions. |
| Peek Lock | A 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. |
| Session | A Service Bus feature that guarantees FIFO ordering by grouping messages with the same session ID. |
| Visibility Timeout | A Storage Queue feature: the period a dequeued message is invisible to other consumers (default 30 seconds). |
- 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.