Поделиться через


Включение секционирования для пространства имен Служебной шины Azure Premium

Секции служебной шины позволяют секционировать очереди и разделы или сущности обмена сообщениями между несколькими брокерами сообщений. Секционирование означает, что общая пропускная способность секционированной сущности больше не ограничивается производительностью одного брокера сообщений. Секционированные очереди и разделы могут содержать все расширенные функции служебной шины, такие как поддержка транзакций и сеансов. Дополнительные сведения см. в секционированных очередях и темах. В этой статье показано, как включить секционирование для пространства имен служебной шины Premium. Все сущности в этом пространстве имен будут секционированы.

Замечание

  • Секционирование можно включить во время создания пространства имен для SKU категории "Премиум".
  • Создание неразделённых сущностей в секционированном пространстве имен запрещено.
  • Невозможно изменить параметр секционирования в любом существующем пространстве имен. Количество секций можно задать только во время создания пространства имен.
  • Число назначенных единиц обмена сообщениями всегда является множителем числа разделов в пространстве имен и равномерно распределяется по разделам. Например, в пространстве имен с 16MU и 4 секциями каждая секция назначается 4MU.
  • Использование нескольких секций с более низкими единицами обмена сообщениями (MU) обеспечивает более высокую производительность по сравнению с одним разделом с более высокими единицами MUS.
  • При использовании функции геоаварийного восстановления Service Bus убедитесь, что не связываете секционированное пространство имен с пространством имен без секционирования.
  • Невозможно перенести стандартное пространство имен SKU в секционированное премиум пространство имен SKU.
  • В настоящее время JMS не поддерживается в секционированных пространствах имен.
  • Пакетные сообщения с отдельными идентификаторами сеансов или PartitionKey не поддерживаются в секционированных пространствах имен.
  • Эта функция в настоящее время доступна во всех регионах, кроме Западной Индии, Центрального Катара и Восточной Австрии.

Использование портала Azure

При создании пространства имен на портале Azure задайте для секционирования значение "Включено " и выберите количество секций, как показано на следующем рисунке. Снимок экрана, на котором включено секционирование во время создания пространства имен.

Использование Azure CLI

Чтобы создать пространство имен с включенным секционированием, используйте az servicebus namespace create команду с --premium-messaging-partitions заданным числом, превышающим 1.

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

Использование Azure PowerShell

Чтобы создать пространство имен с включенным секционированием, используйте New-AzServiceBusNamespace команду с -PremiumMessagingPartition заданным числом, превышающим 1.

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

Использование шаблона Azure Resource Manager

Чтобы создать пространство имен с включенным секционированием, задайте partitions число, превышающее 1 в разделе свойств пространства имен. В примере ниже создается секционированное пространство имен с 4 разделами и 1 единицей обмена сообщениями, назначенной каждому разделу. Дополнительные сведения см. в справочнике по шаблонам пространств имен 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
      }
    }
  ]
}

Дальнейшие шаги

Ознакомьтесь с функциями служебной шины Azure, используя примеры на выбранном языке.