Partilhar via


Ativar o particionamento para um namespace do Azure Service Bus Premium

As partições do Barramento de Serviço permitem que filas e tópicos, ou entidades de mensagens, sejam divididos em vários brokers de mensagens. O particionamento significa que a taxa de transferência geral de uma entidade particionada não é mais limitada pelo desempenho de um único agente de mensagens. Filas e tópicos particionados podem conter todos os recursos avançados do Service Bus, como suporte para transações e sessões. Para obter mais informações, consulte Filas particionadas e tópicos. Este artigo mostra diferentes maneiras de habilitar o particionamento para um namespace Premium do Service Bus. Todas as entidades neste namespace serão particionadas.

Observação

  • O particionamento pode ser ativado durante a criação de namespace no Premium SKU.
  • A criação de entidades não particionadas em um namespace particionado não é permitida.
  • Não é possível alterar a opção de particionamento em qualquer namespace existente. O número de partições só pode ser definido durante a criação do namespace.
  • O número de unidades de mensagens atribuídas é sempre um multiplicador do número de partições em um namespace e são igualmente distribuídas entre as partições. Por exemplo, em um namespace com 16MU e 4 partições, cada partição recebe 4MU.
  • O uso de várias partições com unidades de mensagens mais baixas (MU) oferece um melhor desempenho em relação a uma única partição com MUs mais altas.
  • Ao usar o recurso de recuperação de desastres geográficos do Service Bus, certifique-se de não emparelhar um namespace particionado com um namespace não particionado.
  • Não é possível migrar um namespace de SKU Standard para um namespace particionado de SKU Premium.
  • Atualmente, não há suporte para JMS em namespaces particionados.
  • Não há suporte para envio de mensagens em lote com SessionId ou PartitionKey distintos em namespaces particionados.
  • Este recurso está atualmente disponível em todas as regiões, exceto Índia Ocidental, Qatar Central e Áustria Oriental.

Utilizar o portal do Azure

Ao criar um namespace no portal do Azure, defina o Particionamento como Habilitado e escolha o número de partições, conforme mostrado na imagem a seguir. Captura de tela da tela em que o particionamento está habilitado no momento da criação do namespace.

Utilizar a CLI do Azure

Para criar um namespace com partição habilitada, use o comando az servicebus namespace create com --premium-messaging-partitions definido como um número maior que 1.

az servicebus namespace create \
    --resource-group myresourcegroup \
    --name mynamespace \
    --___location westus 
    --sku Premium
    --premium-messaging-partitions 4

Utilizar o Azure PowerShell

Para criar um namespace com o particionamento ativado, use o New-AzServiceBusNamespace comando com -PremiumMessagingPartition definido para um número maior que 1.

New-AzServiceBusNamespace -ResourceGroupName myresourcegroup `
    -Name mynamespace `
    -Location westus `
    -PremiumMessagingPartition 4

Usar o modelo do Azure Resource Manager

Para criar um namespace com o particionamento habilitado, defina partitions como um número maior que 1 na seção de propriedades do namespace. No exemplo abaixo, um namespace particionado é criado com 4 partições e 1 unidade de mensagens atribuída a cada partição. Para obter mais informações, consulte Referência de modelo de namespaces Microsoft.ServiceBus.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "serviceBusNamespaceName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Service Bus namespace"
      }
    },
    "___location": {
      "type": "string",
      "defaultValue": "[resourceGroup().___location]",
      "metadata": {
        "description": "Location for all resources."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ServiceBus/namespaces",
      "apiVersion": "2022-10-01-preview",
      "name": "[parameters('serviceBusNamespaceName')]",
      "___location": "[parameters('___location')]",
      "sku": {
        "name": "Premium",
        "capacity": 4
      },
      "properties": {
        "premiumMessagingPartitions": 4
      }
    }
  ]
}

Próximos passos

Explore os recursos do Barramento de Serviço do Azure usando os exemplos no idioma de sua escolha.