Share via


為 Azure 服務匯流排進階命名空間啟用資料分割

服務匯流排分割區可讓佇列和主題 (或傳訊實體) 分割到多個訊息代理程式。 資料分割表示分割實體的整體輸送量不會再受到單一訊息代理程式的效能所限制。 分割的佇列和主題可以包含所有進階的服務匯流排功能,例如支援交易和工作階段。 如需詳細資訊,請參閱分割的佇列和主題。 本文說明針對服務匯流排進階命名空間啟用資料分割的不同方式。 此命名空間中的所有實體都會進行分割。

注意

  • 您可以在進階 SKU 中的命名空間建立期間啟用資料分割。
  • 我們不允許在分割命名空間中建立非分割實體。
  • 您無法為任何現有的命名空間變更資料分割選項。 分割區數目只能在命名空間建立期間設定。
  • 指派的傳訊單位一律是命名空間中分割區數量的乘數,而且在分割區中平均散發。 例如,在具有 16MU 和 4 個分割區的命名空間中,每個分割區都會指派 4MU。
  • 支援可用性區域的區域中建立分割命名空間時,這會自動在命名空間上啟用。
  • 具有較低傳訊單位 (MU) 的多個分割區可讓您在具有較高 MU 的單一分割區上取得更好的效能。
  • 使用服務匯流排異地災害復原功能時,請確定不要將分割命名空間與非分割命名空間配對。
  • 無法將標準 SKU 命名空間遷移到進階 SKU 分割命名空間。
  • 分割命名空間目前不支援 JMS。
  • 此功能目前適用於所有區域,但印度西部除外。

使用 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 服務匯流排的功能。