Compartir vía


Habilitación de la creación de particiones para un espacio de nombres Premium de Azure Service Bus

Las particiones de Service Bus permiten que las colas y temas, o entidades de mensajería, se dividan en particiones entre varios agentes de mensajes. La creación de particiones significa que el rendimiento general de una entidad particionada ya no estará limitado por el rendimiento de un solo agente. Las colas y los temas con particiones pueden contener todas las características avanzadas de Service Bus, como la compatibilidad con transacciones y sesiones. Para más información, consulte Temas y colas con particiones. En este artículo se muestran las distintas formas de habilitar la creación de particiones para un espacio de nombres Premium de Service Bus. Todas las entidades de este espacio de nombres se particionarán.

Nota:

  • La creación de particiones se puede habilitar durante la creación del espacio de nombres en la SKU Premium.
  • No se permiten crear entidades sin particiones en un espacio de nombres con particiones.
  • No se puede cambiar la opción de creación de particiones en ningún espacio de nombres existente. El número de particiones solo se puede establecer durante la creación del espacio de nombres.
  • Las unidades de mensajería asignadas siempre son un multiplicador de la cantidad de particiones de un espacio de nombres y se distribuyen equitativamente entre las particiones. Por ejemplo, en un espacio de nombres con 16 MU y 4 particiones, se asignarán 4 MU a cada partición.
  • Al crear un espacio de nombres con particiones en una región que admita Availability Zones, se habilitará automáticamente en el espacio de nombres.
  • Varias particiones con unidades de mensajería más bajas (MU) proporcionan un mejor rendimiento en una sola partición con MU más altas.
  • Al usar la característica de recuperación ante desastres geográfica de Service Bus, asegúrese de no emparejar un espacio de nombres con particiones con un espacio de nombres sin particiones.
  • No es posible migrar un espacio de nombres de SKU estándar a un espacio de nombres con particiones de SKU Premium.
  • JMS no se admite actualmente en los espacios de nombres con particiones.
  • La característica está disponible actualmente en todas las regiones excepto oeste de la India.

Usar Azure Portal

Al crear un espacio de nombres en el Azure Portal, establezca Creación de particiones en Habilitada y elija el número de particiones, como se muestra en la imagen siguiente. Captura de pantalla en la que la creación de particiones se habilita en el momento de la creación del espacio de nombres.

Uso de CLI de Azure

Para crear un espacio de nombres con la creación de particiones habilitada, use el comando az servicebus namespace create con --premium-messaging-partitions establecido en un número mayor que 1.

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

Uso de Azure PowerShell

Para crear un espacio de nombres con la creación de particiones habilitada, use el comando New-AzServiceBusNamespace con -PremiumMessagingPartition establecido en un número mayor que 1.

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

Usar plantillas de Azure Resource Manager

Para crear un espacio de nombres con la creación de particiones habilitada, establezca partitions en un número mayor que 1 en la sección de propiedades del espacio de nombres. En el ejemplo siguiente se crea un espacio de nombres con 4 particiones y 1 unidad de mensajería asignada a cada partición. Para más información, consulte Referencia de la plantilla de espacios de nombres de 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
      }
    }
  ]
}

Pasos siguientes

Pruebe los ejemplos en el lenguaje que prefiera para explorar las características de Azure Service Bus.