Azure Service Bus Premium 名前空間のパーティション分割を有効にする

Service Bus パーティションを使用すると、キューとトピック、またはメッセージング エンティティを複数のメッセージ ブローカーにパーティション分割できます。 パーティション分割は、パーティション分割されたエンティティの全体のスループットが、単一のメッセージ ブローカーのパフォーマンスによって制限されなくなることを意味します。 パーティション分割されたキューとトピックには、トランザクションやセッションのサポートなど、あらゆる高度な Service Bus 機能を含めることができます。 詳細については、「パーティション分割されたキューとトピック」を参照してください。 この記事では、Service Bus Premium 名前空間のパーティション分割を有効にするさまざまな方法について説明します。 この名前空間内のすべてのエンティティがパーティション分割されます。

Note

  • パーティション分割は、Premium SKU での名前空間の作成時に有効にできます。
  • パーティション分割された名前空間にパーティション分割されていないエンティティを作成することはできません。
  • 既存の名前空間のパーティション分割オプションを変更することはできません。 パーティションの数は、名前空間の作成時にのみ設定できます。
  • 割り当てられたメッセージング ユニットは、常に名前空間内のパーティションの数の乗数であり、パーティション間で均等に分散されます。 たとえば、16MU と 4 つのパーティションがある名前空間では、各パーティションに 4MU が割り当てられます。
  • Availability Zones は、それがサポートされているリージョンでパーティション分割された名前空間を作成すると、その名前空間で自動的に有効になります。
  • 少数のメッセージング ユニット (MU) で複数のパーティションは、多数の MU で 1 つのパーティションよりもパフォーマンスが向上します。
  • Service Bus geo ディザスター リカバリー 機能を使用する場合は、パーティション分割された名前空間とパーティション分割されていない名前空間をペアリングしないようにしてください。
  • Standard SKU 名前空間を Premium SKU パーティション分割された名前空間に移行することはできません。
  • JMS は現在、パーティション分割された名前空間ではサポートされていません。
  • この機能は、現在、以下に示すリージョンで利用できます。 新しいリージョンは定期的に追加されます。この記事は、利用可能になると最新のリージョンで更新されます。
リージョン リージョン リージョン リージョン リージョン
オーストラリア中部 東アジア JioIndiaCentral 米国中南部 アラブ首長国連邦北部
オーストラリア東部 米国東部 JioIndiaWest インド南部 UAECentral
オーストラリア南東部 米国東部 2 EUAP KoreaSouth SouthAfricaNorth 英国南部
AustraliaCentral2 フランス中部 マレーシア南部 SouthAfricaWest 英国西部
ブラジル南東部 FranceSouth メキシコ中部 SouthEastAsia 米国中西部
カナダ中部 ドイツ中西部 米国中北部 スペイン中部 西ヨーロッパ
カナダ東部 GermanyNorth 北ヨーロッパ SwedenCentral 米国西部
インド中部 イスラエル中部 ノルウェー東部 SwedenSouth 米国西部 3
米国中部 イタリア北部 NorwayWest スイス北部
CentralUsEuap 西日本 ポーランド中部 スイス西部

Azure Portal の使用

Azure portal で名前空間を作成するときは、次の図に示すように、[パーティション分割][有効] に設定し、パーティションの数を選択します。 Screenshot of screen where partitioning is enabled at the time of the namespace creation.

Azure CLI の使用

パーティション分割が有効な名前空間を作成するには、--premium-messaging-partitions を 1 より大きい数値に設定して az servicebus namespace create コマンドを使用します。

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

Azure PowerShell の使用

パーティション分割が有効な名前空間を作成するには、-PremiumMessagingPartition を 1 より大きい数値に設定して New-AzServiceBusNamespace コマンドを使用します。

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 Service Bus の機能については、使用する言語のサンプルを試してみてください。