Jak skalować wystąpienie usługi Azure SignalR Service?

W tym artykule pokazano, jak skalować wystąpienie usługi Azure SignalR Service. Istnieją dwa scenariusze skalowania, skalowania w górę i skalowania w poziomie.

  • Skalowanie w górę: uzyskaj więcej jednostek, połączeń, komunikatów i nie tylko. Skalowanie w górę przez zmianę warstwy cenowej z Bezpłatna na Standardowa.
  • Skalowanie w poziomie: zwiększ liczbę jednostek usługi SignalR. Możesz skalować w poziomie do 100 jednostek. Istnieją ograniczone opcje jednostki do wyboru dla skalowania: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90 i 100 jednostek dla pojedynczego wystąpienia usługi SignalR Service. Jeśli chcesz skalować więcej niż 100 jednostek, jednostka SKU Premium_P2 oferuje rozszerzone możliwości.

Zastosowanie ustawień skalowania potrwa kilka minut. W rzadkich przypadkach zastosowanie może potrwać około 30 minut. Skalowanie nie wymaga zmiany kodu ani ponownego wdrożenia aplikacji serwera.

Aby uzyskać informacje o cenach i pojemnościach poszczególnych usług SignalR Service, zobacz Szczegóły cennika usługi Azure SignalR Service.

Uwaga

Zmiana usługi SignalR Service z warstwy Bezpłatna na warstwę Standardowa lub Premium lub na odwrót, adres IP usługi publicznej zostanie zmieniony i zwykle trwa 30–60 minut, aby propagować zmianę na serwery DNS w całym Internecie. Usługa może być niemożliwa do osiągnięcia, zanim usługa DNS zostanie zaktualizowana. Ogólnie rzecz biorąc, nie zaleca się zbyt częstej zmiany warstwy cenowej.

Skalowanie w górę w witrynie Azure Portal

  1. W przeglądarce otwórz witrynę Azure Portal.

  2. Na stronie usługi SignalR Service z menu po lewej stronie wybierz pozycję Skaluj w górę.

  3. Kliknij pozycję Zmień i wybierz pozycję Warstwa Standardowa w bloku podręcznym.

    Screenshot of scaling up on Portal.

  4. Wybierz pozycję Zapisz.

Skalowanie w poziomie w witrynie Azure Portal

  1. W przeglądarce otwórz witrynę Azure Portal.

  2. Na stronie usługi SignalR Service z menu po lewej stronie wybierz pozycję Skaluj w poziomie.

  3. Wybierz jednostkę w sektorze skalowania ręcznego.

    Screenshot of scaling out on Portal.

  4. Wybierz pozycję Zapisz.

Skalowanie przy użyciu interfejsu wiersza polecenia platformy Azure

Ten skrypt tworzy nowy zasób usługi SignalR Service w warstwie Bezpłatna i nową grupę zasobów oraz skaluje go do warstwy Standardowa .

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

Zanotuj rzeczywistą nazwę wygenerowaną dla nowej grupy zasobów. Użyjesz tej nazwy grupy zasobów, jeśli chcesz usunąć wszystkie zasoby grupy.

Czyszczenie wdrożenia

Po wykonaniu przykładowego skryptu możesz uruchomić następujące polecenie, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby.

az group delete --name myResourceGroup

Porównanie warstw cenowych

Aby uzyskać szczegółowe informacje, takie jak dołączone komunikaty i połączenia dla każdej warstwy cenowej, zobacz SignalR Service Pricing Details (Szczegóły cennika usługi SignalR Service).

Aby uzyskać tabelę limitów usług, przydziałów i ograniczeń w każdej warstwie, zobacz Limity usługi SignalR Service.

Rozszerzono obsługę dużych wystąpień przy użyciu jednostki SKU Premium_P2

Nowa jednostka SKU Premium_P2 (obecnie w wersji zapoznawczej) została zaprojektowana w celu ułatwienia rozbudowanej skalowalności w scenariuszach wysokiego zapotrzebowania. Ta jednostka SKU umożliwia skalowanie między 100, 200, 300, 400, 500, 600. 700, 800, 900, 1000 jednostek dla pojedynczego wystąpienia usługi SignalR Service. To ulepszenie umożliwia obsługę maksymalnie miliona połączeń współbieżnych, które obsługują potrzeby komunikacji w czasie rzeczywistym na dużą skalę.

Jednostkę SKU można skalować w górę, aby Premium_P2 przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Warstwa Premium_P2 używa innej architektury wewnętrznie do zarządzania dużą ilością zasobów bazowych. Dlatego oczekuje się, że operacje skalowania tej warstwy mogą trwać dłużej w porównaniu z operacjami w mniejszych jednostkach SKU.

Uwaga

Należy pamiętać, że istnieje domyślny limit przydziału ograniczający liczbę jednostek usługi SignalR na 150 na subskrypcję na region. Jest to miękki limit i można go zwiększyć po żądaniu. Aby to zrobić, po prostu prześlij bilet pomocy technicznej, aby poprosić o dostosowanie tego limitu przydziału.

Następne kroki

W tym przewodniku przedstawiono sposób skalowania pojedynczego wystąpienia usługi SignalR Service.

Skalowanie automatyczne jest obsługiwane w warstwie Premium usługi Azure SignalR Service.

Wiele punktów końcowych jest również obsługiwanych w scenariuszach skalowania, fragmentowania i między regionami.