Ćwiczenie — reguły skalowania automatycznego

Ukończone

W tym ćwiczeniu przyjrzymy się ćwiczeniom dotyczącymi konfigurowania i wyzwalania autoskalowania przykładowej aplikacji.

Ćwiczenie dotyczące reguły

W przykładowej aplikacji Azure Spring Apps aplikacja wyzwoliła akcję skalowania w poziomie dla mikrousługi obsługi klienta po jej utworzeniu.

Aplikacja customers-service skaluje się w poziomie , gdy liczba żądań tomcat przekracza średnio 10 sesji na minutę. Po wyzwoleniu autoskalowania jest ona skalowana w poziomie, jeśli liczba żądań jest mniejsza lub równa 10 sesji na minutę, średnio.

Wyświetlanie konfiguracji automatycznego skalowania w witrynie Azure Portal

  1. Na nowej karcie przeglądarki internetowej otwórz witrynę Azure Portal.
  2. W górnym polu wyszukiwania wyszukaj pozycję Azure Spring Apps.
  3. Na stronie Przegląd usługi Azure Spring Apps wybierz wystąpienie usługi Azure Spring Apps z wyników.
  4. Wybierz kartę Aplikacje w obszarze Ustawienia w menu w okienku nawigacji po lewej stronie.
  5. Wybierz aplikację customers-service. Następnie powinna zostać wyświetlona strona Przegląd aplikacji.
  6. Przejdź do karty Skalowanie w poziomie w obszarze Ustawienia w menu po lewej stronie.

Zrzut ekranu przedstawiający ustawienie

Istnieją dwie opcje zarządzania zapotrzebowaniem na autoskalowanie:

  1. Skalowanie ręczne: utrzymuje stałą liczbę wystąpień. W warstwie Standardowa można skalować w poziomie do maksymalnie 500 wystąpień. Ta wartość zmienia liczbę oddzielnych uruchomionych wystąpień aplikacji mikrousług.
  2. Automatyczne skalowanie niestandardowe: skaluje według dowolnego harmonogramu na podstawie dowolnych metryk.

W witrynie Azure Portal wyświetl konfigurację ustawień wstępnych dla aplikacji. Na poniższej ilustracji przedstawiono niestandardowe skalowanie automatyczne skonfigurowane do skalowania na podstawie liczby żądań serwera tomcat.

Zrzut ekranu przedstawiający konfigurację autoskalowania niestandardowego w witrynie Azure Portal.

Wyświetlanie zakończonych zdarzeń automatycznego skalowania

Na ekranie ustawienia Skalowanie w poziomie przejdź do karty Historia uruchamiania, aby wyświetlić najnowsze akcje skalowania. Na karcie przedstawiono zmianę obserwowanej pojemności w czasie graficznie oraz dziennik każdej akcji autoskalowania.

Zrzut ekranu przedstawiający historię uruchamiania autoskalowania w witrynie Azure Portal.

Wyzwalanie akcji skalowania w poziomie za pomocą skryptu

Autoskalowanie można również wyzwalać ręcznie za pomocą przeglądarki internetowej lub skryptu powłoki.

Aby przetestować reguły autoskalowania, generujemy pewne obciążenie wystąpień. To symulowane obciążenie powoduje, że reguły skalowania automatycznego są skalowane w poziomie i zwiększają liczbę wystąpień. Gdy symulowane obciążenie zostanie zatrzymane, reguły skalowania automatycznego są skalowane w poziomie i zmniejszają liczbę wystąpień.

Aby umożliwić wyzwolenie autoskalowania, udostępniliśmy skrypt powłoki w tym samym repozytorium GIT, które zostało użyte do utworzenia aplikacji usługi Azure Spring Apps.

  1. Ustaw nazwę wystąpienia usługi Spring Apps, uruchamiając następujące polecenie w https://shell.azure.com oknie powłoki bash. Użyj tej samej nazwy usługi Azure Spring Apps, która została użyta w poprzednim ćwiczeniu:

    export SPRING_APPS_SERVICE=<spring-apps-instance-name>
    
  2. Następnie w oknie powłoki bash uruchom następujące polecenia, aby wykonać transakcje względem mikrousługi klientów usługi Spring Apps:

    cd mslearn-autoscale-java
    sh loadTest.sh
    
  3. Powinny zostać wyświetlone dane wyjściowe testu obciążeniowego customers-service , który wysyła 100 żądań do wystąpienia.

Ręczne wyzwalanie akcji skalowania w poziomie za pośrednictwem przeglądarki internetowej (opcjonalnie)

Aby ręcznie wyzwolić warunek skalowania w poziomie w utworzonym ustawieniu autoskalowania, mikrousługa customers-service musi zawierać więcej niż 10 żądań w mniej niż jedną minutę.

  1. Otwórz nowe okno przeglądarki i przejdź do mikrousługi customers-service :

    https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/owners
    
  2. Szybko ponownie załaduj stronę ponad 10 razy.

Wyświetlanie akcji skalowania w poziomie

  1. Po powrocie do oryginalnego okna przeglądarki w ustawieniu automatycznego skalowania wybierz kartę Historia uruchamiania.

  2. Powinien zostać wyświetlony wykres odzwierciedlający liczbę wystąpień.

  3. W ciągu kilku minut liczba wystąpień powinna wzrosnąć z zakresu od 1 do 2.

  4. Na wykresie powinny znajdować się wpisy dziennika aktywności dla każdej akcji skalowania podjętej przez to ustawienie automatycznego skalowania.

Zrzut ekranu przedstawiający historię skalowania automatycznego w poziomie w witrynie Azure Portal.

Działanie skalowania w poziomie

Warunek skalowania w poziomie w ustawieniu autoskalowania jest wyzwalany, jeśli w ciągu jednej minuty jest mniej niż 10 żądań do mikrousługi usługi customers-service .

  1. Upewnij się, że do mikrousługi klientów nie są wysyłane żadne żądania, a okno przeglądarki do aplikacji/usługi zostało zamknięte.

  2. Obserwuj liczbę wystąpień. W ciągu kilku minut liczba wystąpień może spaść z zakresu od 2 do 1 (zobacz następujący ważny punkt).

Zrzut ekranu przedstawiający akcję skalowania automatycznego w witrynie Azure Portal.

Ważne

Usługa Azure Spring Apps może nie być skalowana, ponieważ autoskalowanie spróbuje oszacować stan końcowy po skalowaniu. Oznacza to, że skalowanie automatyczne wymagałoby natychmiastowego ponownego skalowania, jeśli średnia liczba żądań tomcat pozostaje taka sama, a nawet spadnie tylko niewielka ilość.