Service Bus Premium and Standard messaging tiers
Service Bus Messaging, which includes entities such as queues and topics, combines enterprise messaging capabilities with rich publish-subscribe semantics at cloud scale. Service Bus Messaging is used as the communication backbone for many sophisticated cloud solutions.
The Premium tier of Service Bus Messaging addresses common customer requests around scale, performance, and availability for mission-critical applications. Although the feature sets are nearly identical, these two tiers of Service Bus Messaging are designed to serve different use cases.
Some high-level differences are highlighted in the following table.
|High throughput||Variable throughput|
|Predictable performance||Variable latency|
|Fixed pricing||Pay as you go variable pricing|
|Ability to scale workload up and down||N/A|
|Message size up to 1 MB||Message size up to 256 KB|
Service Bus Premium Messaging provides resource isolation at the CPU and memory level so that each customer workload runs in isolation. This resource container is called a messaging unit. Each premium namespace is allocated at least one messaging unit. You can purchase 1, 2, or 4 messaging units for each Service Bus Premium namespace. A single workload or entity can span multiple messaging units and the number of messaging units can be changed at will, although billing is in 24-hour or daily rate charges. The result is predictable and repeatable performance for your Service Bus-based solution.
Not only is this performance more predictable and available, but it is also faster. Service Bus Premium Messaging builds on the storage engine introduced in Azure Event Hubs. With Premium Messaging, peak performance is much faster than with the Standard tier.
Premium Messaging technical differences
The following sections discuss a few differences between Premium and Standard messaging tiers.
Partitioned queues and topics
Partitioned queues and topics are supported in Premium Messaging; in fact these entities are always partitioned (and cannot be disabled). However, Premium partitioned queues and topics do not function the same way as in the Standard tier of Service Bus messaging. Premium messaging does not use SQL as a data store and no longer has the possible resource competition associated with a shared platform. As a result, partitioning is not necessary to improve performance. Additionally, the partition count has been changed from 16 partitions in Standard Messaging to 2 partitions in Premium. Having two partitions ensures availability and is a more appropriate number for the Premium runtime environment.
With Premium messaging, when you specify the size of an entity with MaxSizeInMegabytes, that size is split equally across the 2 partitions, unlike Standard partitioned entities in which the total size is 16 times the specified size.
For more information about partitioning, see Partitioned queues and topics.
Because Premium messaging runs in a completely isolated run-time environment, express entities are not supported in Premium namespaces. For more information about the express feature, see the QueueDescription.EnableExpress property.
If you have code running under Standard messaging and want to port it to the Premium tier, make sure the EnableExpress property is set to false (the default value).
Get started with Premium Messaging
Getting started with Premium Messaging is straightforward and the process is similar to that of Standard Messaging. Begin by creating a namespace. Make sure you select Premium under Pricing tier.
You can also create Premium namespaces using Azure Resource Manager templates.
To learn more about Service Bus Messaging, see the following topics.