Partager via


Activer le partitionnement pour un espace de noms Azure Service Bus Premium

Les partitions Service Bus permettent aux files d’attente et aux rubriques, ou aux entités de messagerie, d’être partitionnés sur plusieurs répartiteurs de messages. Le partitionnement signifie que le débit global d’une entité partitionnée n’est plus limité par les performances d’un répartiteur de messages unique. Les rubriques et les files d’attente partitionnées peuvent contenir toutes les fonctionnalités avancées de Service Bus, comme la prise en charge des transactions et des sessions. Pour plus d’informations, consultez files d’attente et sujets partitionnés. Cet article vous montre différentes façons d’activer le partitionnement pour un espace de noms Service Bus Premium. Toutes les entités de cet espace de noms seront partitionnées.

Note

  • Le partitionnement peut être activé lors de la création d'un espace de noms avec le SKU Premium.
  • La création d’entités non partitionnée dans un espace de noms partitionné n’est pas autorisée.
  • La modification de l’option de partitionnement sur un espace de noms existant n’est pas possible. Le nombre de partitions ne peut être défini que lors de la création de l’espace de noms.
  • Le nombre d’unités de messagerie attribuées est toujours un multiplicateur du nombre de partitions dans un espace de noms et sont également répartis entre les partitions. Par exemple, dans un espace de noms avec 16MU et 4 partitions, chaque partition est affectée à 4MU.
  • L’utilisation de plusieurs partitions avec des unités de messagerie inférieures (MU) vous offre de meilleures performances sur une seule partition avec des unités de messagerie supérieures.
  • Lorsque vous utilisez la fonctionnalité de géorécupération d'urgence du Service Bus, veillez à ne pas associer un espace de noms partitionné à un espace de noms non partitionné.
  • Il n’est pas possible de migrer un espace de noms de référence SKU standard vers un espace de noms partitionné de référence SKU Premium.
  • JMS n’est actuellement pas pris en charge sur les espaces de noms partitionnés.
  • Le traitement par lots de messages avec sessionId ou PartitionKey distinct n’est pas pris en charge sur les espaces de noms partitionnés.
  • Cette fonctionnalité est actuellement disponible dans toutes les régions, à l’exception de l’Inde Ouest, du Qatar Centre et de l’Autriche Est.

Utiliser le portail Azure

Lors de la création d’un espace de noms dans le portail Azure, définissez le partitionnementsur Activé et choisissez le nombre de partitions, comme illustré dans l’image suivante. Capture d’écran de l’emplacement où le partitionnement est activé au moment de la création de l’espace de noms.

Utiliser l’interface de ligne de commande Microsoft Azure

Pour créer un espace de noms avec le partitionnement activé, utilisez la az servicebus namespace create commande avec --premium-messaging-partitions la valeur définie sur un nombre supérieur à 1.

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

Utilisation d'Azure PowerShell

Pour créer un espace de noms avec le partitionnement activé, utilisez la New-AzServiceBusNamespace commande avec -PremiumMessagingPartition la valeur définie sur un nombre supérieur à 1.

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

Utiliser un modèle Azure Resource Manager

Pour créer un espace de noms avec le partitionnement activé, définissez partitions un nombre supérieur à 1 dans la section propriétés de l’espace de noms. Dans l’exemple ci-dessous, un espace de noms partitionné est créé avec 4 partitions et 1 unité de messagerie affectée à chaque partition. Pour plus d’informations, consultez la référence du modèle d’espaces de noms 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
      }
    }
  ]
}

Étapes suivantes

Explorez les fonctionnalités d’Azure Service Bus à l’aide des exemples dans la langue de votre choix.