Several systems each need a copy of a message, with their own filters. What fits?
Why D is the answer
A Service Bus topic with subscriptions
Topics give 1 to n publish-subscribe, and subscribers select what they want.
In detail
- A topic gives each subscription its own copy, with its own filters.
- Choose a queue when one consumer should handle each message.
Use case
An illustrative scenario, not a real incident.
Billing, shipping and analytics each need order messages. A topic with subscriptions gives each one a copy, with its own filter.
See it in different ways
flowchart TD
A{"What are you sending?"} -->|"A notification about a change"| B["Event Grid"]
A -->|"Work that must be processed reliably"| C["Service Bus"]
C --> D["Queue: one consumer per message"]
C --> E["Topic: many subscribers"]mindmap
root((Messaging))
Event Grid
Events
Filters
Service Bus queue
One worker per message
Service Bus topic
Many subscribers
Own filters
Dead-letter queue
Failed messagesflowchart TD
Q{"Who receives a message?"}
Q -->|"One worker"| A0["Queue"]
Q -->|"Each subscriber"| A1["Topic"]Key point: Topics give each subscriber a copy.
Why the other options are wrong
- A. A long-running HTTP request to every system in turn
- Long HTTP calls tie the systems together.
- B. A direct database write made by the publisher
- Direct writes tie the publisher to each system.
- C. A single queue, read by whichever system is first
- A queue gives each message to one reader.

