Øvelse – regler for automatisk skalering
I denne øvelse kigger vi på øvelser til konfiguration og udløsning af automatisk skalering af dit eksempelprogram.
Regeludøvelse
I dit eksempel på et Azure Spring Apps-program udløste dit program en scale-out-handling på mikrotjenesten til kundeservice, da det blev oprettet.
Kundetjenesteappen skalerer ud, når antallet af tomcat-anmodninger overstiger 10 sessioner pr. minut i gennemsnit. Når autoskaleringen er udløst, skaleres i, hvis antallet af anmodninger er mindre end eller lig med 10 sessioner pr. minut i gennemsnit.
Få vist konfiguration af automatisk skalering på Azure Portal
- Åbn Azure Portal på en ny fane i webbrowseren.
- Søg efter Azure Spring Appsi det øverste søgefelt.
- På siden Oversigt over Azure Spring Apps skal du vælge din Forekomst af Azure Spring Apps i resultaterne.
- Vælg fanen Apps under Indstillinger i menuen i navigationsruden til venstre.
- Vælg kundetjenesteprogrammet. Derefter kan du se programmets Oversigt side.
- Gå til fanen Skaler ud under Indstillinger i menuen til venstre på siden.
Der er to muligheder for administration af automatisk skalering af efterspørgsel:
- Manuel skalering: Vedligeholder et fast antal forekomster. På standardniveauet kan du maksimalt skalere ud til 500 forekomster. Denne værdi ændrer antallet af separate aktive forekomster af microservice-programmet.
- Brugerdefineret autoskalering: Skalerer efter en hvilken som helst tidsplan baseret på eventuelle målepunkter.
I Azure Portal skal du se forudindstillet konfiguration for dit program. Følgende figur viser en Brugerdefineret automatisk skalering, der er konfigureret til skalering på antallet af tomcat-anmodninger.
Visning af de færdige hændelser for automatisk skalering
På skærmen Skaler ud skal du gå til fanen Kørselsoversigt for at se de seneste skaleringshandlinger. Under fanen kan du grafisk se ændringen i Arbejdskapacitet over tid og en log over hver autoskaleringshandling.
Udløs udskaleringshandlingen med et script
Du kan også udløse automatisk skalering manuelt via en webbrowser eller et shellscript.
Hvis du vil teste reglerne for automatisk skalering, genererer vi en vis belastning på forekomsterne. Denne simulerede belastning medfører, at reglerne for automatisk skalering skaleres ud og øger antallet af forekomster. Når den simulerede belastning derefter stoppes, skaleres reglerne for automatisk skalering og reducerer antallet af forekomster.
For at give dig mulighed for at udløse automatisk skalering har vi angivet et shellscript i det samme GIT-lager, som du brugte til at oprette dit Azure Spring Apps-program.
Angiv navnet på forekomsten af din Spring Apps-tjeneste ved at køre følgende kommando i dit https://shell.azure.com bash-vindue. Brug det samme navn på Tjenesten Azure Spring Apps, som du brugte i den forrige øvelse:
export SPRING_APPS_SERVICE=<spring-apps-instance-name>Derefter skal du køre følgende kommandoer i bashvinduet for at udføre transaktioner mod dine Spring Apps-kunders service microservice:
cd mslearn-autoscale-java sh loadTest.shDu bør kunne se outputtet fra kundeservice belastningstest, der sender 100 anmodninger til din forekomst.
Udløs udskaleringshandlingen manuelt via en webbrowser (valgfrit)
Hvis du vil udløse skaleringsbetingelsen manuelt i den autoskaleringsindstilling, der er oprettet, skal customer-service- mikrotjenesten have mere end 10 anmodninger på mindre end ét minut.
Åbn et nyt browservindue, og naviger til mikrotjenesten kunder:
https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/ownersIndlæs siden hurtigt efter hinanden mere end 10 gange.
Visning af udskaleringshandlingen
Tilbage i det oprindelige browservindue skal du vælge fanen Kørselsoversigt under indstillingen autoskalering.
Du bør se et diagram, der afspejler antallet af forekomster.
Antallet af forekomster skal stige fra 1 til 2 om et par minutter.
Under diagrammet skal du have aktivitetslogposterne for hver skaleringshandling, der udføres af denne indstilling for automatisk skalering.
Skaleringshandling
Skaleringsbetingelsen i indstillingen for automatisk skalering udløses, hvis der er færre end eller lig med 10 anmodninger til kunders service mikrotjeneste over en periode på ét minut.
Sørg for, at der ikke sendes nogen anmodninger til dine kunders service microservice, og at browservinduet til din app/tjeneste er lukket.
Se antallet af forekomster. Antallet af forekomster kan på få minutter falde fra 2 til 1 (se følgende vigtige punkt).
Vigtig
Dine Azure Spring Apps skaleres muligvis ikke, fordi automatisk skalering forsøger at vurdere, hvad den endelige tilstand vil være, når den er skaleret. Det betyder, at automatisk skalering skaleres igen med det samme, hvis det gennemsnitlige antal tomcat-anmodninger forbliver det samme eller endda kun falder en lille mængde.