Habilitar o particionamento para um namespace Premium do Barramento de Serviço do Azure

As partições do Barramento de Serviço permitem que filas e tópicos, ou entidades de mensagens, sejam particionados em vários agentes 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.

Nota

  • O particionamento pode ser ativado durante a criação de namespace no Premium SKU.
  • Não permitimos a criação de entidades não particionadas em um namespace particionado.
  • Não é possível alterar a opção de particionamento em nenhum namespace existente. O número de partições só pode ser definido durante a criação do namespace.
  • As unidades de mensagens atribuídas são sempre um multiplicador da quantidade de partições em um namespace e são distribuídas igualmente entre as partições. Por exemplo, em um namespace com 16MU e 4 partições, cada partição receberá 4MU.
  • Ao criar um namespace particionado em uma região que ofereça suporte a zonas de disponibilidade, isso será habilitado automaticamente no namespace.
  • Várias partições com unidades de mensagens mais baixas (MU) oferecem 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 SKU padrão para um namespace particionado SKU Premium.
  • Atualmente, não há suporte para JMS em namespaces particionados.
  • O recurso está atualmente disponível em todas as regiões, exceto na Índia Ocidental.

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 o particionamento habilitado, use o az servicebus namespace create comando com --premium-messaging-partitions set para 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 habilitado, use o New-AzServiceBusNamespace comando com -PremiumMessagingPartition set para um número maior que 1.

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

Utilizar 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

Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.