Как масштабировать экземпляр Службы Azure SignalR?

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

  • Вертикальное увеличение масштаба — это увеличение числа единиц, подключений, сообщений и т. п. Вертикально масштаб можно увеличить, изменив ценовую категорию с "Бесплатный" на "Стандартный".
  • Горизонтальное увеличение масштаба — это увеличение количества используемых единиц SignalR. Горизонтально масштаб можно увеличить до 100 единиц. Для масштабирования доступны ограниченные параметры единицы: 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90 и 100 единиц для одного экземпляра Служба SignalR. Если вы хотите масштабировать более 100 единиц, Premium_P2 SKU предлагает расширенные возможности.

Для применения параметров масштабирования требуется несколько минут. В редких случаях применение может занять около 30 минут. Масштабирование не требует изменения кода или повторного развертывания серверного приложения.

Сведения о ценах и емкостях отдельных категорий Службы SignalR см. здесь.

Примечание.

Изменение Служба SignalR с уровня "Бесплатный" на "Стандартный" или "Премиум" или наоборот, IP-адрес общедоступной службы будет изменен и обычно занимает 30–60 минут для распространения изменений на DNS-серверы по всему Интернету. В течение этого времени служба может быть недоступна. Как правило, изменять ценовую категорию слишком часто не рекомендуется.

Увеличение масштаба портал Azure

  1. В браузере откройте портал Azure.

  2. На странице Служба SignalR в меню слева выберите "Увеличить масштаб".

  3. Нажмите кнопку "Изменить" и выберите "Стандартный " в всплывающей колонке.

    Снимок экрана: масштабирование на портале.

  4. Выберите Сохранить.

Горизонтальное масштабирование портал Azure

  1. В браузере откройте портал Azure.

  2. На странице Служба SignalR в меню слева выберите "Горизонтальное увеличение масштаба".

  3. Выберите единицу в секторе ручного масштабирования .

    Снимок экрана: горизонтальное масштабирование на портале.

  4. Выберите Сохранить.

Масштабирование с помощью интерфейса командной строки Azure

Этот скрипт создает новый ресурс Службы SignalR категории Бесплатный и новую группу ресурсов, а затем масштабирует его до категории Стандартный.

#!/bin/bash

# Generate a unique suffix for the service name
let randomNum=$RANDOM*$RANDOM

# Generate a unique service and group name with the suffix
SignalRName=SignalRTestSvc$randomNum
#resource name must be lowercase
mySignalRSvcName=${SignalRName,,}
myResourceGroupName=$SignalRName"Group"

# Create resource group 
az group create --name $myResourceGroupName --location eastus

# Create the Azure SignalR Service resource
az signalr create \
  --name $mySignalRSvcName \
  --resource-group $myResourceGroupName \
  --sku Free_F1 \
  --service-mode Default

# Scale up to Standard Tier, and scale out to 50 units
az signalr update \
  --name $mySignalRSvcName \
  --resource-group $myResourceGroupName \
  --sku Standard_S1 \
  --unit-count 50

Запишите фактическое имя, созданное для новой группы ресурсов. При удалении всех ресурсов вы будете использовать это имя группы ресурсов.

Очистка развертывания

Выполнив пример сценария, можно удалить группу ресурсов и все связанные с ней ресурсы при помощи приведенной ниже команды.

az group delete --name myResourceGroup

Сравнение ценовых категорий

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

Таблицу ограничений и квот по каждой ценовой категории см. в разделе Ограничения Службы SignalR.

Расширенная поддержка крупных экземпляров с помощью SKU Premium_P2

Новый номер SKU Premium_P2 предназначен для упрощения обширной масштабируемости для сценариев с высоким спросом. Этот номер SKU позволяет масштабироваться в 100, 200, 300, 400, 500, 600. 700, 800, 900, 1000 единиц для одного экземпляра Служба SignalR. Это улучшение позволяет обрабатывать до одного миллиона одновременных подключений, обслуживая крупномасштабные потребности в обмене данными в режиме реального времени.

Вы можете масштабировать номер SKU для Premium_P2 с помощью портал Azure или Azure CLI.

Уровень Premium_P2 использует другую архитектуру для управления большим количеством базовых ресурсов. Таким образом, ожидается, что операции масштабирования этого уровня могут занять больше времени по сравнению с теми, которые используются в небольших номерах SKU.

Примечание.

Помните, что ограничение квоты по умолчанию ограничивает количество единиц SignalR в 150 единиц на подписку в каждом регионе. Это мягкое ограничение и может быть увеличено по запросу. Для этого просто отправьте запрос в службу поддержки, чтобы запросить корректировку этой квоты.

Следующие шаги

С помощью этого руководства вы узнали, как масштабировать один экземпляр Службы SignalR.

Автомасштабирование поддерживается в Служба Azure SignalR категории "Премиум".

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