Integration Messaging premium template-specs-five-use-cases template-specs-five-use-cases-three-case-studies

Service Bus topic

A Service Bus topic is where an application publishes a message when more than one downstream system may need it. Instead of sending the same event separately to billing, shipping, analytics, and notifications, the publisher sends one message to the topic. Subscriptions under that topic decide who receives a copy. A topic is not usually read directly by applications; receivers read from subscriptions. That design keeps producers simple and lets teams add or change consumers without rewriting the sending application.

Aliases
Azure Service Bus topic, Service Bus pub-sub topic, topic entity, broker topic
Difficulty
fundamentals
CLI mappings
6
Last verified
2026-05-24

Microsoft Learn

Service Bus topic is a publish-subscribe entity inside a Service Bus namespace. Publishers send one message to the topic, and matching subscriptions receive their own copies. Topics are used when several downstream systems need the same business event without coupling the publisher to every receiver.

Microsoft Learn: Azure Service Bus queues, topics, and subscriptions2026-05-24

Technical context

Technically, a topic is a Service Bus entity created under a namespace, supported in Standard and Premium tiers. Producers send messages to the topic through the Service Bus data plane, and subscriptions receive copies according to rules and filters. Topic settings can include duplicate detection, default message time-to-live, partitioning where available, status, size limits, and authorization rules. It sits between application code, namespace-level networking and identity controls, subscription routing, Azure Monitor metrics, and infrastructure-as-code definitions for repeatable deployment.

Why it matters

Topics matter because they give architects a clean way to distribute important business events without building a fragile fan-out service. A producer can publish an order, claim, shipment, or telemetry command once, while several consumers receive durable, independently managed copies. That is a practical difference in production: one new consumer does not require producer code changes, slow consumers do not own the topic, and filtered subscriptions can control downstream noise. Topics also make event ownership visible. Operators can see the namespace, topic, subscriptions, rules, and backlog instead of chasing hidden webhook chains or custom retry loops. across teams, regions, and releases.

Where you see it

Signals, screens, and Azure surfaces where this term usually becomes operational.

Signal 01

In the Service Bus namespace Topics blade, topics appear with status, size, subscription count, duplicate-detection settings, and links to authorization rules and metrics. during production reviews.

Signal 02

In deployment templates, topics appear as Microsoft.ServiceBus/namespaces/topics resources with properties for default TTL, duplicate detection, partitioning, and size-related limits. in governance reviews.

Signal 03

In CLI inventory, az servicebus topic list and show reveal topic names, status, timestamps, message counts, and settings needed for drift checks. during drift reviews.

When this becomes relevant

Specific situations where this term helps solve real Azure design, operations, migration, security, reliability, cost, or governance problems.

  • Fan out one order, shipment, or claim event to multiple durable consumer streams without producer rewrites.
  • Add a new downstream system during modernization while keeping the existing publisher contract unchanged.
  • Use subscription filters to route business-event subsets instead of making every consumer process every message.
  • Replace fragile webhook chains with brokered delivery, retries, dead-letter handling, and measurable backlog.
  • Separate producer ownership from consumer ownership in a domain event architecture that still needs reliable messaging.

Real-world case studies

Different enterprise-style examples that show the term being used to hit measurable objectives.

Case study 01

Airport operations hub replaces webhook fan-out

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

An airport operations hub sent gate-change notices through a chain of webhooks to signage, mobile apps, crew scheduling, and baggage systems. During irregular operations, one failed webhook retried aggressively and delayed every other downstream update.

Business/Technical Objectives
  • Publish each gate-change event once from the operations system.
  • Give every downstream platform its own delivery stream.
  • Reduce cascading failures caused by webhook retry chains.
  • Add new consumers without modifying the operations system.
Solution Using Service Bus topic

The architecture team created a Service Bus topic named gate-events and moved the operations system to publish one normalized event for every gate change. Signage, mobile notifications, crew scheduling, and baggage services each received a subscription with filters for the event types they owned. Duplicate detection protected repeated sends from the operations system during network retries. CLI scripts created the topic, listed subscriptions, and exported topic settings for airport change control. Dashboards tracked incoming messages at the topic and backlog per subscription so operators could separate publisher problems from consumer problems during disruption windows.

Results & Business Impact
  • Gate-change propagation to mobile apps improved from 12 minutes to under 90 seconds during peak disruption.
  • Webhook retry incidents fell from eight per month to one minor alert.
  • A new passenger assistance consumer was added without changing publisher code.
  • Operations staff could identify the failing consumer from subscription metrics within five minutes.
Key Takeaway for Glossary Readers

A Service Bus topic is powerful when one trusted event stream must feed several durable, independently operated consumers.

Case study 02

Renewable energy operator distributes turbine events

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

A renewable energy operator collected turbine status events and needed maintenance planning, grid reporting, anomaly detection, and warranty systems to receive different slices of the same stream. The previous batch export was slow and caused missed maintenance windows.

Business/Technical Objectives
  • Distribute turbine status events within minutes instead of overnight.
  • Route only relevant event categories to each downstream team.
  • Preserve a single publisher contract from field telemetry ingestion.
  • Measure backlog and failures by consuming system.
Solution Using Service Bus topic

Engineers introduced a Service Bus topic for turbine-status events after the ingestion layer normalized field telemetry. Subscriptions used rule filters for maintenance faults, grid-reporting events, anomaly candidates, and warranty claims. Maintenance received urgent fault events immediately, while analytics consumed broader but lower-priority event classes. The topic was deployed through Bicep and verified with Azure CLI topic and subscription listing commands. Operations dashboards showed incoming message rate, failed requests, and per-subscription active messages. The team documented message property names so future telemetry changes would not silently break filters.

Results & Business Impact
  • Critical maintenance events reached planners in under three minutes instead of the next morning.
  • Warranty processing noise dropped 68 percent because its subscription filtered non-claim events.
  • Backlog ownership became visible per consumer instead of hidden in one export process.
  • Turbine downtime linked to missed alerts fell by 21 percent in the first quarter.
Key Takeaway for Glossary Readers

Topics help high-volume operational data become useful business events without creating one custom delivery path per consumer.

Case study 03

Streaming media studio coordinates asset publishing

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

A streaming media studio produced asset-ready events when subtitles, artwork, encoding, and rights checks completed. Teams kept adding point-to-point queues, and producers became tangled with consumer-specific delivery rules.

Business/Technical Objectives
  • Centralize asset lifecycle events into one durable pub-sub stream.
  • Let localization, catalog, quality review, and rights systems subscribe independently.
  • Reduce producer code changes when a new publishing workflow appears.
  • Improve troubleshooting for delayed catalog launches.
Solution Using Service Bus topic

The studio replaced several direct queues with a Service Bus topic named asset-lifecycle. Producers sent events such as EncodingComplete, RightsApproved, and ArtworkReady with consistent message properties. Localization, catalog, quality review, and rights systems received subscriptions with rule filters matching their responsibilities. The catalog subscription used broader rules for launch readiness, while quality review consumed only exception events. CLI inventory was added to the release checklist so engineers could confirm topic existence, subscription count, and rule configuration before major content drops. Monitoring separated topic ingress from each subscription backlog.

Results & Business Impact
  • Producer-side messaging code was reduced by 34 percent after consumer-specific routes were removed.
  • Catalog launch delay investigations dropped from 90 minutes to 20 minutes.
  • Two new localization workflows subscribed without a producer redeployment.
  • Major release weekends had zero messaging incidents tied to missing queue routes.
Key Takeaway for Glossary Readers

A Service Bus topic keeps the publisher contract stable while letting many content workflows subscribe on their own terms.

Why use Azure CLI for this?

I use Azure CLI for topics because topic settings define the contract that every publisher and subscriber depends on. The portal is fine for a quick look, but CLI gives me repeatable inventory and proof: which topics exist, which tier they run under, whether duplicate detection is enabled, and which subscriptions hang below them. During incident review, I can export the topic and subscription shape in minutes and compare it with Bicep. For migrations, CLI also helps create topics consistently across environments, avoid spelling drift, and confirm that a namespace is not accidentally Basic. during audit reviews and incident calls.

CLI use cases

  • List topics in a namespace and verify the expected business streams are deployed.
  • Show topic properties to confirm status, duplicate detection, message TTL, and size settings.
  • Create topics consistently across environments from a release script or migration runbook.
  • List subscriptions below a topic to prove the fan-out shape during incident review.
  • Compare topic settings with Bicep output to detect drift before a deployment.

Before you run CLI

  • Confirm tenant, subscription, resource group, namespace, topic name, and environment before running any create, update, or delete command.
  • Verify the namespace tier is Standard or Premium because a Basic namespace cannot host topics or subscriptions.
  • Check whether publishers, subscribers, and IaC templates already depend on the topic name before renaming or deletion.
  • Prefer read-only show and list commands before changing duplicate detection, TTL, status, or authorization settings.
  • Use JSON output for drift comparisons and include the namespace endpoint only in secure evidence handling.

What output tells you

  • The topic status indicates whether publishers can send and whether operational changes have disabled the entity.
  • Duplicate detection and TTL settings explain why repeated messages may be suppressed or old messages may expire.
  • Subscription counts and related CLI output show whether fan-out matches the architecture diagram and release plan.
  • Created and updated timestamps help identify recent manual changes during incident or drift investigations.
  • Authorization-rule output shows whether access is scoped at the topic or inherited broadly from the namespace.

Mapped Azure CLI commands

Service Bus topic operations

direct
az servicebus topic list --resource-group <resource-group> --namespace-name <namespace> --output table
az servicebus topicdiscoverIntegration
az servicebus topic show --resource-group <resource-group> --namespace-name <namespace> --name <topic> --output json
az servicebus topicdiscoverIntegration
az servicebus topic create --resource-group <resource-group> --namespace-name <namespace> --name <topic> --default-message-time-to-live P14D --output json
az servicebus topicprovisionIntegration
az servicebus topic update --resource-group <resource-group> --namespace-name <namespace> --name <topic> --status Active --output json
az servicebus topicconfigureIntegration
az servicebus topic subscription list --resource-group <resource-group> --namespace-name <namespace> --topic-name <topic> --output table
az servicebus topic subscriptiondiscoverIntegration
az servicebus topic authorization-rule list --resource-group <resource-group> --namespace-name <namespace> --topic-name <topic> --output table
az servicebus topic authorization-rulediscoverIntegration

Architecture context

Architecturally, a Service Bus topic is the central event distribution point for durable pub-sub messaging. I use it when the message is a command or business event that multiple systems may need, and where each consumer needs reliable brokered delivery rather than a best-effort notification. The topic owns the send contract; subscriptions own consumer-specific routing and backlog. A good design names topics around stable business streams, not individual applications. It also defines message properties for filters, duplicate detection requirements, publisher permissions, and observability. The topic should be boring, durable, and well documented because many workflows depend on it. over time.

Security

Topic security starts with the namespace boundary, network exposure, and the identities allowed to send or manage messages. Publishers should not receive Manage permissions just to send events, and receivers should normally read through subscriptions with least-privilege access. Topic-level authorization rules can narrow SAS access, but managed identity and Azure RBAC are often safer where supported by the client platform. Private endpoints, firewall rules, and diagnostic logs matter when topics carry regulated business data. A topic also creates indirect data exposure because any overly broad subscription can copy sensitive messages to a consumer that was not intended to see them.

Cost

Topics influence cost through message operations, retained messages, subscription fan-out, diagnostics, and downstream processing. Sending one message to a topic can create many brokered copies, and each copy can trigger compute, logging, storage, and support work. Duplicate detection and longer retention can be useful but should be sized deliberately. Cost surprises often come from stale subscriptions, broad filters, noisy publishers, or test topics left active in production namespaces. FinOps reviews should connect a topic to its owning business stream, expected message rate, subscription count, and cleanup rules. The cheapest design is usually the one that avoids unnecessary fan-out. and operational cleanup.

Reliability

Topic reliability comes from durable storage, subscription isolation, dead-letter behavior, duplicate detection where enabled, and clear publisher retry design. The topic can accept messages while subscribers process them at different speeds, but that does not remove the need for idempotent consumers and replay plans. Operators should monitor incoming messages, successful requests, server errors, throttling, and per-subscription backlog. A topic with many consumers can look healthy while one subscription is failing badly. Reliable architecture also protects the topic from accidental deletion, undocumented rule changes, and message property changes that break filters across several subscriptions at once. during releases and incident repair windows.

Performance

Topic performance depends on publisher rate, message size, batching, duplicate-detection windows, subscription count, filter complexity, namespace tier, and receiver capacity. Adding subscriptions can increase routing work and downstream load even when the producer changes nothing. A topic should be load-tested with realistic filters and message properties, not only with one subscriber. Operators should separate send latency from subscription processing latency, because publisher success does not prove consumers are keeping up. If predictable latency, private networking, or higher isolation becomes important, architects should evaluate Premium rather than forcing a busy Standard topic beyond its safe limits. before major launch peaks and cutovers.

Operations

Operators manage topics by checking namespace tier, topic status, size settings, duplicate-detection configuration, authorization rules, subscriptions, and metrics. Changes should usually be made through Bicep, ARM, Terraform, or reviewed CLI scripts because one topic can affect many teams. During incidents, operators confirm whether messages are entering the topic, whether subscriptions are receiving copies, and whether rules or downstream receivers are the bottleneck. Runbooks should include how to disable a topic safely, how to inspect subscription rules, and how to capture CLI evidence before deletion or migration. Ownership is critical because topics often outlive individual applications. in shared production namespaces and reviews.

Common mistakes

  • Creating one topic per application instead of per stable business stream, which makes fan-out brittle and hard to govern.
  • Assuming publishers can read from a topic directly; consumers receive from subscriptions, not from the topic itself.
  • Leaving broad subscriptions under a high-volume topic and making every downstream system discard messages in code.
  • Changing message property names without checking every subscription filter that depends on those properties.
  • Using namespace-wide Manage keys for topic publishers when Send-only access or managed identity would reduce blast radius.