Azure Service Bus Premium 네임스페이스에 대한 분할 사용

Service Bus 파티션을 사용하면 큐 및 토픽 또는 메시징 엔터티가 여러 메시지 broker에 분할될 수 있습니다. 분할은 분할된 엔터티의 전체 처리량이 단일 메시지 broker의 성능으로 제한되지 않는다는 의미입니다. 분할된 큐 및 항목은 트랜잭션 및 세션에 대한 지원 같은 모든 고급 Service Bus 기능을 포함할 수 있습니다. 자세한 내용은 분할된 큐 및 토픽을 참조하세요. 이 문서에서는 Service Bus Premium 네임스페이스에 분할을 사용하도록 설정하는 다양한 방법을 보여 줍니다. 이 네임스페이스의 모든 엔터티는 분할됩니다.

참고 항목

  • 프리미엄 SKU에서 네임스페이스를 만드는 동안 분할을 사용하도록 설정할 수 있습니다.
  • 분할된 네임스페이스에서 분할되지 않은 엔터티를 만드는 것은 허용되지 않습니다.
  • 기존 네임스페이스에서는 분할 옵션을 변경할 수 없습니다. 파티션 수는 네임스페이스를 만드는 동안에만 설정할 수 있습니다.
  • 할당된 메시징 단위는 항상 네임스페이스에 있는 파티션 양의 승수이며 파티션 전체에 균등하게 분산됩니다. 예를 들어 16MU 및 4개의 파티션이 있는 네임스페이스에서 각 파티션에는 4MU가 할당됩니다.
  • 가용성 영역 지원하는 지역에서 분할된 네임스페이스를 만들 때 네임스페이스에서 자동으로 사용하도록 설정됩니다.
  • MU(메시징 단위)가 낮은 다중 파티션은 MU가 높은 단일 파티션에 비해 더 나은 성능을 제공합니다.
  • Service Bus 지역 재해 복구 기능을 사용하는 경우 분할된 네임스페이스를 분할되지 않은 네임스페이스와 페어링하지 않도록 합니다.
  • 표준 SKU 네임스페이스를 프리미엄 SKU 분할 네임스페이스로 마이그레이션할 수 없습니다.
  • JMS는 현재 분할된 네임스페이스에서 지원되지 않습니다.
  • 이 기능은 현재 아래에 설명된 지역에서 사용할 수 있습니다. 새 지역이 정기적으로 추가될 예정이며, 이 문서는 최신 지역으로 업데이트된 상태로 유지됩니다.
지역 지역 지역 지역 지역
오스트레일리아 중부 동아시아 JioIndiaCentral 미국 중남부 아랍에미리트 북부
오스트레일리아 동부 미국 동부 JioIndiaWest 인도 남부 UAECentral
오스트레일리아 남동부 미국 동부 2 EUAP KoreaSouth SouthAfricaNorth 영국 남부
AustraliaCentral2 프랑스 중부 말레이시아 남부 SouthAfricaWest 영국 서부
브라질 남동부 FranceSouth 멕시코 중부 SouthEastAsia 미국 중서부
캐나다 중부 독일 중서부 미국 중북부 스페인 중부 서유럽
캐나다 동부 GermanyNorth 북유럽 SwedenCentral 미국 서부
인도 중부 이스라엘 중부 노르웨이 동부 SwedenSouth 미국 서부 3
미국 중부 이탈리아 북부 노르웨이웨스트 스위스 북부
CentralUsEuap 일본 서부 폴란드 중부 스위스 서부

Azure Portal 사용

Azure Portal에서 네임스페이스를 만들 때 다음 이미지와 같이 분할사용으로 설정하고 파티션 수를 선택합니다. Screenshot of screen where partitioning is enabled at the time of the namespace creation.

Azure CLI 사용

분할을 사용하도록 설정된 네임스페이스를 만들려면 1보다 큰 숫자로 --premium-messaging-partitions 설정된 명령을 사용합니다az servicebus namespace create.

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

Azure PowerShell 사용

분할을 사용하도록 설정된 네임스페이스를 만들려면 1보다 큰 숫자로 -PremiumMessagingPartition 설정된 명령을 사용합니다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 기능을 살펴봅니다.