Service Bus topics and subscriptions support a publish/subscribe messaging communication model. When using topics and subscriptions, components of a distributed application do not communicate directly with each other; instead they exchange messages via a topic, which acts as an intermediary.
In contrast with Service Bus queues, in which each message is processed by a single consumer, topics and subscriptions provide a "one-to-many" form of communication, using a publish/subscribe pattern. It is possible to register multiple subscriptions to a topic. When a message is sent to a topic, it is then made available to each subscription to handle/process independently.
A subscription to a topic resembles a virtual queue that receives copies of the messages that were sent to the topic. You can optionally register filter rules for a topic on a per-subscription basis, which enables you to filter or restrict which messages to a topic are received by which topic subscriptions.
Service Bus topics and subscriptions enable you to scale and process a very large number of messages across many users and applications.
To begin using Service Bus topics and subscriptions in Azure, you must first create a service namespace. A namespace provides a scoping container for addressing Service Bus resources within your application.
To create a namespace:
-
Log on to the Azure portal.
-
In the left navigation pane of the portal, click New, then click Enterprise Integration, and then click Service Bus.
-
In the Create namespace dialog, enter a namespace name. The system immediately checks to see if the name is available.
-
After making sure the namespace name is available, choose the pricing tier (Basic, Standard, or Premium).
-
In the Subscription field, choose an Azure subscription in which to create the namespace.
-
In the Resource group field, choose an existing resource group in which the namespace will live, or create a new one.
-
In Location, choose the country or region in which your namespace should be hosted.
-
Click the Create button. The system now creates your namespace and enables it. You might have to wait several minutes as the system provisions resources for your account.
-
In the list of namespaces, click the newly created namespace name.
-
In the Service Bus namespace blade, click Shared access policies.
-
In the Shared access policies blade, click RootManageSharedAccessKey.
-
In the Policy: RootManageSharedAccessKey blade, click the copy button next to Connection string–primary key, to copy the connection string to your clipboard for later use.