Delen via


Partitioneren inschakelen in Azure Service Bus Basic of Standard

Met Service Bus-partities kunnen wachtrijen en onderwerpen, of berichtenentiteiten, worden gepartitioneerd over meerdere berichtbrokers. Partitionering betekent dat de totale doorvoer van een gepartitioneerde entiteit niet langer wordt beperkt door de prestaties van één berichtenbroker. Bovendien wordt een tijdelijke onderbreking van een berichtenbroker, bijvoorbeeld tijdens een upgrade, geen gepartitioneerde wachtrij of onderwerp niet beschikbaar gemaakt. Gepartitioneerde wachtrijen en onderwerpen kunnen alle geavanceerde Service Bus-functies bevatten, zoals ondersteuning voor transacties en sessies. Zie Gepartitioneerde wachtrijen en onderwerpen voor meer informatie. In dit artikel vindt u verschillende manieren om dubbele berichtdetectie in te schakelen voor een Service Bus-wachtrij of een onderwerp.

Belangrijk

  • Partitionering is beschikbaar bij het maken van entiteiten voor alle wachtrijen en onderwerpen in Basic- of Standard-SKU's.
  • Het is niet mogelijk om de partitioneringsoptie voor een bestaande wachtrij of onderwerp te wijzigen. U kunt de optie alleen instellen wanneer u een wachtrij of een onderwerp maakt.
  • In een naamruimte voor de Standard-laag kunt u Service Bus-wachtrijen en onderwerpen maken in grootten van 1, 2, 3, 4 of 5 GB (de standaardwaarde is 1 GB). Als partitionering is ingeschakeld, maakt Service Bus 16 kopieën (16 partities) van de entiteit, elk van dezelfde grootte die is opgegeven. Als u als zodanig een wachtrij maakt die 5 GB groot is, met 16 partities wordt de maximale wachtrijgrootte (5 * 16) = 80 GB.

Azure Portal gebruiken

Wanneer u een wachtrij maakt in Azure Portal, selecteert u Partitionering inschakelen, zoals wordt weergegeven in de volgende afbeelding.

Enable partitioning at the time of the queue creation

Wanneer u een onderwerp maakt in Azure Portal, selecteert u Partitionering inschakelen, zoals wordt weergegeven in de volgende afbeelding.

Enable partitioning at the time of the topic creation

Azure CLI gebruiken

Als u een wachtrij wilt maken waarvoor partitionering is ingeschakeld, gebruikt u de az servicebus queue create opdracht die --enable-partitioning is ingesteld op true.

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-partitioning true

Als u een onderwerp wilt maken waarvoor partitionering is ingeschakeld, gebruikt u de az servicebus topic create opdracht die --enable-partitioning is ingesteld op true.

az servicebus topic create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name mytopic \
    --enable-partitioning true

Azure PowerShell gebruiken

Als u een wachtrij wilt maken waarvoor partitionering is ingeschakeld, gebruikt u de New-AzServiceBusQueue opdracht die -EnablePartitioning is ingesteld op $True.

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -EnablePartitioning $True

Als u een onderwerp wilt maken waarvoor partitionering is ingeschakeld, gebruikt u de New-AzServiceBusTopic opdracht die -EnablePartitioning is ingesteld op true.

New-AzServiceBusTopic -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic `
    -EnablePartitioning $True

Azure Resource Manager-sjabloon gebruiken

Als u een wachtrij wilt maken waarvoor partitionering is ingeschakeld, stelt u deze in enablePartitioning true de sectie Eigenschappen van de wachtrij in. Zie de sjabloonreferenties voor Microsoft.ServiceBus-naamruimten/wachtrijen voor meer informatie.

{
  "$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"
      }
    },
    "serviceBusQueueName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Queue"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ServiceBus/namespaces",
      "apiVersion": "2018-01-01-preview",
      "name": "[parameters('serviceBusNamespaceName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard"
      },
      "properties": {},
      "resources": [
        {
          "type": "Queues",
          "apiVersion": "2017-04-01",
          "name": "[parameters('serviceBusQueueName')]",
          "dependsOn": [
            "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
          ],
          "properties": {
            "enablePartitioning": true
          }
        }
      ]
    }
  ]
}

Als u een onderwerp wilt maken waarvoor dubbele detectie is ingeschakeld, stelt u deze in enablePartitioning true de sectie onderwerpeigenschappen in. Zie de naslaginformatie over microsoft.ServiceBus-naamruimten/onderwerpen voor meer informatie.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "service_BusNamespace_Name": {
      "type": "string",
      "metadata": {
        "description": "Name of the Service Bus namespace"
      }
    },
    "serviceBusTopicName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Topic"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    }
  },
  "resources": [
    {
      "apiVersion": "2018-01-01-preview",
      "name": "[parameters('service_BusNamespace_Name')]",
      "type": "Microsoft.ServiceBus/namespaces",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard"
      },
      "properties": {},
      "resources": [
        {
          "apiVersion": "2017-04-01",
          "name": "[parameters('serviceBusTopicName')]",
          "type": "topics",
          "dependsOn": [
            "[resourceId('Microsoft.ServiceBus/namespaces/', parameters('service_BusNamespace_Name'))]"
          ],
          "properties": {
            "enablePartitioning": true
          }
        }
      ]
    }
  ]
}

Volgende stappen

Probeer de voorbeelden in de taal van uw keuze om Azure Service Bus-functies te verkennen.

Hieronder vindt u voorbeelden voor de oudere .NET- en Java-clientbibliotheken:

Op 30 september 2026 gaan we de Azure Service Bus SDK-bibliotheken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus en com.microsoft.azure.servicebus buiten gebruik stellen, die niet voldoen aan de Azure SDK-richtlijnen. We beëindigen ook de ondersteuning van het SBMP-protocol, zodat u dit protocol na 30 september 2026 niet meer kunt gebruiken. Migreer naar de nieuwste Azure SDK-bibliotheken, die vóór die datum essentiële beveiligingsupdates en verbeterde mogelijkheden bieden.

Hoewel de oudere bibliotheken nog steeds meer dan 30 september 2026 kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging van de buitengebruikstelling van de ondersteuning voor meer informatie.