Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Service Bus 分区允许将队列、主题或消息实体跨多个消息代理进行分区。 分区意味着分区实体的总体吞吐量不再受单个消息中转站的性能限制。 分区队列和主题可以包含所有高级Service Bus功能,例如对事务和会话的支持。 有关详细信息,请参阅 分区队列和主题。 本文介绍了为 Service Bus Premium 命名空间启用分区的不同方法。 此命名空间中的所有实体都已分区。
注释
- 分区命名空间目前不支持 JMS。
- 可以在高级层中创建命名空间期间启用分区。
- 无法在分区命名空间中创建非分区实体。
- 不能更改任何现有命名空间上的分区选项。 在创建命名空间期间设置分区数。
- 分配的消息传送单元数始终是命名空间中分区数的乘数,并且平均分布在分区之间。 例如,在具有 16 个 MU 和 4 个分区的命名空间中,为每个分区分配 4 MU。
- 使用具有较低消息传送单元(MU)的多个分区,比使用具有较高消息传送单元的单个分区能提供更好的性能。
- 使用 Service Bus Geo-disaster recovery 功能时,不要将分区命名空间与非分区命名空间配对。
- 无法将标准层命名空间 迁移到 高级层分区命名空间。
- 分区命名空间不支持对具有不同 SessionId 或 PartitionKey 的消息进行批处理。
- 此功能目前在印度西部、卡塔尔中部和奥地利东部以外的所有区域可用。
使用 Azure 门户
在 Azure 门户中创建 namespace 时,将 Partitioning 设置为 Enabled并选择分区数,如下图所示。
使用Azure CLI
若要 创建启用了分区的命名空间,请使用命令 az servicebus namespace create,并将 --premium-messaging-partitions 设置为大于 1 的数字。
az servicebus namespace create \
--resource-group myresourcegroup \
--name mynamespace \
--location chinanorth3
--sku Premium
--premium-messaging-partitions 4
使用Azure PowerShell
若要 创建启用了分区的命名空间,请使用命令 New-AzServiceBusNamespace,并将 -PremiumMessagingPartition 设置为大于 1 的数字。
New-AzServiceBusNamespace -ResourceGroupName myresourcegroup `
-Name mynamespace `
-Location chinanorth3 `
-PremiumMessagingPartition 4
使用模板
若要 创建启用了分区的命名空间,请在命名空间属性部分中设置为 premiumMessagingPartitions 大于 1 的数字。 在以下示例中,创建一个分区命名空间,其中包含 4 个分区,1 个消息传送单元分配给每个分区。 有关详细信息,请参阅 Microsoft.ServiceBus 命名空间模板参考。
@description('Name of the Service Bus namespace')
param serviceBusNamespaceName string
@description('Location for all resources.')
param location string = resourceGroup().location
resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
name: serviceBusNamespaceName
location: location
sku: {
name: 'Premium'
capacity: 4
}
properties: {
premiumMessagingPartitions: 4
}
}
后续步骤
使用所选语言的示例浏览Azure Service Bus功能。