Esercizio - Regole di scalabilità automatica
In questo esercizio vengono esaminati gli esercizi per configurare e attivare la scalabilità automatica dell'applicazione di esempio.
Esercizio della regola
Nell'applicazione di esempio di Azure Spring Apps, l'applicazione ha attivato un'azione di scale-out sul microservizio del servizio clienti quando è stato creato.
Il servizio clienti aumenta la capacità quando il numero di richieste tomcat supera in media 10 sessioni al minuto. Dopo l'attivazione della scalabilità automatica, viene quindi eseguita la riduzione della capacità se il numero di richieste è minore o uguale a 10 sessioni al minuto in media.
Visualizzare la configurazione della scalabilità automatica nel portale di Azure
- In una nuova scheda del Web browser, aprire il portale di Azure.
- Nella casella di ricerca in alto cercare App Spring di Azure.
- Nella pagina di panoramica di App Spring di Azure selezionare l'istanza di App Spring di Azure nei risultati.
- Selezionare la scheda App in Impostazioni nel menu del riquadro di spostamento sinistro.
- Selezionare l'applicazione customers-service. Verrà visualizzata la pagina Panoramica dell'applicazione.
- Passare alla scheda Scale-out in Impostazioni nel menu a sinistra della pagina.
Sono disponibili due opzioni per la gestione delle richieste di scalabilità automatica:
- Scalabilità manuale: Mantiene un numero di istanze fisso. Nel livello Standard è possibile aumentare il numero di istanze fino a un massimo di 500. Questo valore modifica il numero di istanze in esecuzione separate dell'applicazione di microservizi.
- Scalabilità automatica personalizzata: Consente di ridimensionare in base a qualsiasi pianificazione e a qualunque metrica.
Nel portale di Azure visualizzare la configurazione di pre-installazione per l'applicazione. Nella figura seguente viene illustrata la configurazione della scalabilità automatica personalizzata per il numero di richieste tomcat.
Visualizzazione degli eventi di scalabilità automatica completati
Nella schermata delle impostazioni di scale-out, passare alla scheda Cronologia di esecuzione per visualizzare le azioni di ridimensionamento più recenti. La scheda mostra graficamente i cambiamenti nel tempo di Observed Capacity (Capacità osservata) e un log di ogni azione di scalabilità automatica.
Attivare l'azione di scale-out con uno script
È anche possibile attivare la scalabilità automatica manualmente tramite un Web browser o uno script della shell.
Per testare le regole di scalabilità automatica, vengono generati alcuni carichi sulle istanze. Questo carico simulato causa l'aumento del numero di istanze in base alle regole di scalabilità automatica. Quando il carico simulato viene successivamente interrotto, le regole di scalabilità automatica determinano la riduzione del numero di istanze.
Per consentire l'attivazione della scalabilità automatica, è stato fornito uno script della shell nello stesso repository GIT usato per creare l'applicazione di Azure Spring Apps.
Impostare il nome dell'istanza del servizio Spring Apps eseguendo il comando seguente nella finestra bash https://shell.azure.com. Usare lo stesso nome del servizio Azure Spring Apps usato nell'esercizio precedente:
export SPRING_APPS_SERVICE=<spring-apps-instance-name>
Nella finestra bash eseguire quindi i comandi seguenti per eseguire le transazioni sul microservizio del servizio clienti di App Spring:
cd mslearn-autoscale-java sh loadTest.sh
Verrà visualizzato l'output del test di carico del servizio clienti che invia 100 richieste all'istanza.
Attivare manualmente l'azione di scale-out tramite un Web browser (facoltativo)
Per attivare manualmente la condizione di scale-out nell'impostazione di scalabilità automatica creata, il microservizio del servizio clienti deve avere più di 10 richieste in meno di un minuto.
Aprire una nuova finestra del browser e passare al microservizio del servizio clienti:
https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/owners
In rapida successione ricaricare la pagina più di 10 volte.
Visualizzazione dell'azione di scale-out
Nella finestra del browser originale, nell'impostazione di scalabilità automatica selezionare la scheda Cronologia di esecuzione.
Si dovrebbe vedere un grafico che mostra il numero di istanze.
In pochi minuti, il numero di istanze aumenterà da 1 a 2.
Nel grafico, dovrebbero esserci le voci di log attività per ogni azione di scalabilità adottata da questa impostazione di scalabilità automatica.
Azione di riduzione
La condizione di riduzione nell'impostazione di scalabilità automatica viene attivata se è presente un numero pari o inferiore a 10 richieste al servizio clienti in un periodo di un minuto.
Assicurarsi che non vengano inviate richieste al microservizio del servizio clienti e che la finestra del browser sull'app o servizio venga chiusa.
Osservare il numero di istanze. In pochi minuti, il numero di istanze potrebbe passare da 2 a 1 (vedere il punto importante di seguito).
Importante
App Spring di Azure potrebbe non essere ridimensionato perché la scalabilità automatica cercherà di stimare lo stato finale dopo il ridimensionamento. La scalabilità automatica dovrà quindi immediatamente eseguire di nuovo il ridimensionamento, se il numero medio di richieste tomcat rimane invariato o scende anche solo di poco.