共用方式為


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

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

備註

  • 您可以在進階 SKU 中建立命名空間期間啟用分割。
  • 不允許在分割命名空間中建立非分割實體。
  • 無法變更任何現有命名空間上的分割區選項。 分割區數目只能在命名空間建立期間設定。
  • 指派的傳訊單位數目一律是名稱空間中分割區數目的乘數,且平均分佈在分割區之間。 例如,在具有 16MU 和 4 個分割區的命名空間中,每個分割區都會指派 4MU。
  • 使用具有較低傳訊單位 (MU) 的多個分割區,可比具有較高 MU 的單一分割區提供更好的效能。
  • 使用 Service Bus 異地災害復原 功能時,請確定不要將分割命名空間與非分割命名空間配對。
  • 無法將標準 SKU 命名空間 移轉 至進階 SKU 分割命名空間。
  • 分割名稱空間目前不支援 JMS。
  • 分割命名空間不支援批次處理具有相異 SessionId 或 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 服務匯流排功能。