Übung: Regeln für die automatische Skalierung
In dieser Übung betrachten Sie Übungen zum Festlegen und Auslösen der automatischen Skalierung Ihrer Beispielanwendung.
Regelübung
In Ihrer Azure Spring Apps-Beispielanwendung wurde bei der Erstellung eine Aktion vom Typ „horizontale Skalierung“ für den Microservice des Kundendiensts ausgelöst.
Die App „customers-service“ wird aufskaliert, wenn die Tomcat-Anforderungsanzahl im Durchschnitt zehn Sitzungen pro Minute überschreitet. Nachdem die automatische Skalierung ausgelöst wurde, wird sie abskaliert, wenn die Anforderungsanzahl im Durchschnitt kleiner als oder gleich zehn Sitzungen pro Minute ist.
Anzeigen des Setups für die automatische Skalierung im Azure-Portal
- Öffnen Sie auf einer neuen Registerkarte des Webbrowsers das Azure-Portal.
- Suchen Sie im Suchfeld oben nach Azure Spring Apps.
- Wählen Sie auf der Seite mit der Azure Spring Apps-Übersicht aus den Ergebnissen Ihre Azure Spring Apps-Instanz aus.
- Wählen Sie im Menü im linken Navigationsbereich unter Einstellungen die Registerkarte Apps aus.
- Wählen Sie die Anwendung des Kundendiensts aus. Dann sollte die Seite Übersicht der Anwendung angezeigt werden.
- Wechseln Sie im Menü auf der linken Seite unter Einstellungen zur Registerkarte Aufskalieren.
Es gibt zwei Optionen für die Autoskalierungsbedarfsverwaltung:
- Manuelles Skalieren: Beibehalten einer festen Anzahl von Instanzen Im Standard-Tarif können Sie auf maximal 500 Instanzen aufskalieren. Dieser Wert ändert die Anzahl separat ausgeführter Instanzen der Microserviceanwendung.
- Benutzerdefinierte Autoskalierung: Skalieren nach einem beliebigen Zeitplan basierend auf Metriken
Zeigen Sie im Azure-Portal die Konfiguration vor dem Setup für Ihre Anwendung an. Die folgende Abbildung zeigt eine Autoskalierung mit der Konfiguration Benutzerdefiniert zum Skalieren der Anzahl der Tomcat-Anforderungen.
Anzeigen der abgeschlossenen Ereignisse für die Autoskalierung
Wechseln Sie auf dem Bildschirm mit der Einstellung für die Aufskalierung zur Registerkarte Ausführungsverlauf, um die neuesten Skalierungsaktionen anzuzeigen. Die Registerkarte zeigt die Änderung der beobachteten Kapazität im Zeitverlauf grafisch und ein Protokoll jeder Aktion zur Autoskalierung an.
Auslösen der Aufskalierungsaktion mit einem Skript
Sie können die automatische Skalierung auch manuell über einen Webbrowser oder ein Shellskript auslösen.
Zum Testen der Regeln für die Autoskalierung generieren Sie eine gewisse Last auf den Instanzen. Diese simulierte Last bewirkt, dass die Regeln für die Autoskalierung zu einer Aufskalierung führen und die Anzahl der Instanzen erhöht wird. Wenn die simulierte Last dann beendet wird, führen die Regeln für die Autoskalierung zu einer Abskalierung und die Anzahl der Instanzen wird reduziert.
Damit Sie die Autoskalierung auslösen können, wurde ein Shellskript im gleichen Git-Repository bereitgestellt, das Sie zum Erstellen Ihrer Azure Spring Apps-Anwendung verwendet haben.
Legen Sie den Instanznamen Ihres Spring Apps-Diensts fest, indem Sie den folgenden Befehl in Ihrem https://shell.azure.com Bash-Fenster ausführen. Verwenden Sie den gleichen Azure Spring Apps-Dienstnamen wie in der vorherigen Übung:
export SPRING_APPS_SERVICE=<spring-apps-instance-name>
Führen Sie als Nächstes im Bash-Fenster die folgenden Befehle aus, um Transaktionen für Ihren Spring Apps-Microservice customers-service auszuführen.
cd mslearn-autoscale-java sh loadTest.sh
Sie sehen die Ausgabe des Auslastungstests für customers-service, der 100 Anforderungen an Ihre Instanz sendet.
Manuelles Auslösen der Aktion zum Aufskalieren über einen Webbrowser (optional)
Um die Bedingung für die Aufskalierung in der Einstellung für die automatische Skalierung manuell auszulösen, muss der Microservice customers-service mehr als zehn Anforderungen in weniger als einer Minute aufweisen.
Öffnen Sie ein neues Browserfenster, und navigieren Sie zum Microservice customers-service:
https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/owners
Aktualisieren Sie die Seite mehr als zehnmal in schneller Folge.
Anzeigen der Aktion „Aufskalieren“
Klicken Sie im ursprünglichen Browserfenster für die Einstellung zur automatischen Skalierung auf die Registerkarte Ausführungsverlauf.
Es sollte ein Diagramm mit der Anzahl der Instanzen angezeigt werden.
In wenigen Minuten sollte die Anzahl der Instanzen von „1“ auf „2“ steigen.
Im Diagramm sollten die Aktivitätsprotokolleinträge für jede Skalierungsaktion angezeigt werden, die von dieser Einstellung für die automatische Skalierung ausgeführt wird.
Aktion „Abskalieren“
Die Bedingung für das Abskalieren in der Einstellung für die automatische Skalierung wird ausgelöst, wenn innerhalb eines Zeitraums von einer Minute weniger als oder gleich zehn Anforderungen an den Microservice customers-service gesendet werden.
Stellen Sie sicher, dass keine Anforderungen an den Microservice customers-service gesendet werden und das Browserfenster für Ihre App bzw. Ihren Dienst geschlossen ist.
Beobachten Sie die Anzahl der Instanzen. In wenigen Minuten kann die Anzahl der Instanzen von 2 auf 1 fallen (siehe nachfolgenden wichtigen Hinweis).
Wichtig
Ihre Azure Spring Apps-Instanz wird möglicherweise nicht skaliert, da die automatische Skalierung versucht abzuschätzen, wie der Endstatus nach der Skalierung lauten wird. Dies bedeutet, dass die Autoskalierung sofort wieder skalieren müsste, wenn die durchschnittliche Tomcat-Anforderungsanzahl gleich bleibt oder sogar nur geringfügig sinkt.