Cómo escalar una instancia de Azure SignalR Service?

En este artículo se muestra cómo escalar la instancia de Azure SignalR Service. Existen dos escenarios de escalado: escalado vertical y escalado horizontal.

  • Escalado vertical: obtenga más unidades, conexiones, mensajes y mucho más. Puede escalar verticalmente cambiando el plan de tarifa de Gratis a Estándar.
  • Escalado horizontal: aumente el número de unidades signalR. Puede escalar horizontalmente hasta un máximo de 100 unidades. Hay opciones de unidad limitadas para seleccionar para la escala: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90 y 100 unidades para una sola instancia de SignalR Service. Si desea escalar más allá de 100 unidades, la SKU de Premium_P2 ofrece funcionalidades ampliadas.

La configuración de escala tarda unos minutos en aplicarse. En raras ocasiones, puede tardar unos 30 minutos en aplicarse. El escalado no requiere modificar el código ni volver a implementar la aplicación de servidor.

Para obtener información sobre los precios y la funcionalidad de instancias individuales de SignalR Service, consulte los precios de Azure SignalR Service.

Nota:

Al cambiar SignalR Service del nivel Gratis al nivel Estándar o Prémium, o viceversa, se cambiará la dirección IP del servicio público y normalmente se tarda de 30 a 60 minutos en propagar el cambio a los servidores DNS en todo Internet. Es posible que no se pueda acceder al servicio antes de que se actualice el DNS. Por lo general, no se recomienda cambiar el plan de tarifa con demasiada frecuencia.

Escalabilidad vertical en Azure Portal

  1. En el explorador, abra Azure Portal.

  2. En la página de SignalR Service, en el menú de la izquierda, seleccione Escalar verticalmente.

  3. Haga clic en Cambiar y seleccione el nivel Estándar en la hoja emergente.

    Screenshot of scaling up on Portal.

  4. Seleccione Guardar.

Escalabilidad horizontal en Azure Portal

  1. En el explorador, abra Azure Portal.

  2. En la página de SignalR Service, en el menú de la izquierda, seleccione Escalar horizontalmente.

  3. Elija la unidad en el sector Escalado manual.

    Screenshot of scaling out on Portal.

  4. Seleccione Guardar.

Escalado con la CLI de Azure

Este script crea un recurso de SignalR Service del nivel Gratis y un grupo de recursos, que escala hasta el nivel Estándar.

#!/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

Anote el nombre real generado para el nuevo grupo de recursos. Usará ese nombre de grupo de recursos cuando quiera eliminar todos los recursos del grupo.

Limpieza de la implementación

Después de ejecutar el script de ejemplo, se puede usar el comando siguiente para quitar el grupo de recursos y todos los recursos asociados.

az group delete --name myResourceGroup

Comparar planes de tarifa

Si necesita información detallada, como los tamaños de máquina virtual para cada plan de tarifa, consulte los precios de SignalR Service.

Para ver una tabla de límites, cuotas y restricciones del servicio en cada nivel, consulte los límites de SignalR Service.

Compatibilidad mejorada con instancias grandes con SKU de Premium_P2

La nueva SKU de Premium_P2 (actualmente en versión preliminar) está diseñada para facilitar una amplia escalabilidad para escenarios de alta demanda. Esta SKU permite escalar entre 100, 200, 300, 400, 500, 600. 700, 800, 900, 1000 unidades para una única instancia de SignalR Service. Esta mejora permite controlar hasta un millón de conexiones simultáneas, atendiendo a las necesidades de comunicación en tiempo real a gran escala.

Puede escalar verticalmente la SKU para Premium_P2 mediante Azure Portal o la CLI de Azure.

El nivel Premium_P2 usa internamente una arquitectura diferente para administrar una gran cantidad de recursos subyacentes. Por lo tanto, se espera que las operaciones de escalado de este nivel tarden más tiempo en comparación con las de SKU más pequeñas.

Nota:

Tenga en cuenta que hay un límite de cuota predeterminado que limita el número de unidades de SignalR en 150 por suscripción por región. Se trata de un límite flexible y se puede aumentar bajo petición. Para ello, simplemente envíe una incidencia de soporte técnico para solicitar un ajuste a esta cuota.

Pasos siguientes

En esta guía aprendió a escalar una única instancia de SignalR Service.

La escalabilidad automática se admite en el nivel de servicio Premium de Azure SignalR Service.

También se admiten varios puntos de conexión para escenarios de escalado, particionamiento y entre regiones.