Övning – Regler för automatisk skalning
I den här övningen tittar vi på övningar för att konfigurera och utlösa automatisk skalning av exempelprogrammet.
Regelövning
I ditt Exempelprogram för Azure Spring Apps utlöste ditt program en utskalningsåtgärd för kundtjänstens mikrotjänst när den skapades.
Appen customers-service skalas ut när antalet tomcat-begäranden i genomsnitt överstiger 10 sessioner per minut. När autoskalningen har utlösts skalas den in om antalet förfrågningar är mindre än eller lika med 10 sessioner per minut i genomsnitt.
Visa autoskalningskonfiguration i Azure Portal
- Öppna Azure Portal på en ny webbläsarflik.
- Sök efter Azure Spring Apps i den översta sökrutan.
- På sidan Översikt över Azure Spring Apps väljer du din Azure Spring Apps-instans i resultatet.
- Välj fliken Appar under Inställningar i menyn i det vänstra navigeringsfönstret.
- Välj appen customers-service. Du bör sedan se programmets översiktssida.
- Gå till fliken Skala ut under Inställningar på menyn till vänster på sidan.
Det finns två alternativ för hantering av autoskalningsefterfrågan:
- Manuell skalning: Upprätthåller ett fast instansantal. På standardnivån kan du skala ut till högst 500 instanser. Det här värdet ändrar antalet separata instanser som körs av mikrotjänstprogrammet.
- Anpassad autoskalning: Skalar enligt valfritt schema, baserat på mått.
I Azure Portal visar du förinställningskonfigurationen för ditt program. Följande bild visar en anpassad autoskalning som konfigurerats för att skala på antalet tomcat-begäranden.
Visa de färdiga autoskalningshändelserna
På skärmen Skalningsinställning går du till fliken Körningshistorik för att se de senaste skalningsåtgärderna. På fliken visas ändringen i Observerad kapacitet över tid grafiskt och en logg över varje autoskalningsåtgärd.
Utlös utskalningsåtgärden med ett skript
Du kan också utlösa automatisk skalning manuellt via en webbläsare eller ett gränssnittsskript.
För att testa reglerna för autoskalning genererar vi viss belastning på instanserna. Den här simulerade belastningen gör att reglerna för autoskalning skalas ut och ökar antalet instanser. När den simulerade belastningen sedan stoppas skalar reglerna för autoskalning in och minskar antalet instanser.
För att du ska kunna utlösa autoskalningen tillhandahöll vi ett gränssnittsskript på samma GIT-lagringsplats som du använde för att skapa ditt Azure Spring Apps-program.
Ange instansnamnet för din Spring Apps-tjänst genom att köra följande kommando i bash-fönstret https://shell.azure.com . Använd samma Azure spring Apps-tjänstnamn som du använde i föregående övning:
export SPRING_APPS_SERVICE=<spring-apps-instance-name>Kör sedan följande kommandon i bash-fönstret för att köra transaktioner mot din Spring Apps-tjänstmikrotjänst:
cd mslearn-autoscale-java sh loadTest.shDu bör se utdata från belastningstestet customers-service som skickar 100 begäranden till din instans.
Utskalningsåtgärden utlöses manuellt via en webbläsare (valfritt)
Om du vill utlösa utskalningsvillkoret manuellt i den autoskalningsinställning som skapats måste mikrotjänsten customers-service ha fler än 10 begäranden på mindre än en minut.
Öppna ett nytt webbläsarfönster och gå till mikrotjänsten customers-service :
https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/ownersLäs in sidan fler än 10 gånger i snabb följd.
Visa utskalningsåtgärden
I det ursprungliga webbläsarfönstret går du till autoskalningsinställningen och väljer fliken Körningshistorik .
Du bör se ett diagram som återspeglar antalet instanser.
Om några minuter bör antalet instanser öka från 1 till 2.
Under diagrammet bör du ha aktivitetsloggposterna för varje skalningsåtgärd som utförs av den här autoskalningsinställningen.
Inskalningsåtgärd
Inskalningsvillkoret i autoskalningsinställningen utlöses om det finns färre än eller lika med 10 begäranden till mikrotjänsten customers-service under en period på en minut.
Se till att inga begäranden skickas till din kundtjänst mikrotjänst och att webbläsarfönstret till din app/tjänst är stängt.
Observera antalet instanser. Om några minuter kan antalet instanser minska från 2 till 1 (se följande viktiga punkt).
Viktigt!
Dina Azure Spring Apps kanske inte skalas eftersom autoskalning kommer att försöka beräkna det slutliga tillståndet när det har skalats. Det innebär att autoskalning måste skalas omedelbart igen, om det genomsnittliga antalet tomcat-begäranden förblir detsamma eller till och med bara faller en liten mängd.