Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento della guida introduttiva illustra come distribuire un'applicazione Java Spring Boot in Azure Service Fabric usando strumenti della riga di comando familiari in Linux o MacOS. Azure Service Fabric è una piattaforma di sistemi distribuiti per la distribuzione e la gestione di microservizi e contenitori.
Prerequisiti
Scaricare l'esempio
In una finestra del terminale eseguire il comando seguente per clonare l'app di esempio Introduzione a Spring Boot nel computer locale.
git clone https://github.com/spring-guides/gs-spring-boot.git
Compilare l'applicazione Spring Boot
All'interno della directory gs-spring-boot/complete eseguire il comando seguente per compilare l'applicazione
./gradlew build
Creare il pacchetto dell'applicazione Spring Boot
All'interno della directory gs-spring-boot nel clone, eseguire il comando
yo azuresfguest
.Rispondere alle richieste specificando le informazioni seguenti.
Nella cartella SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/code creare un file denominato entryPoint.sh. Aggiungere il codice seguente alla fine del file entryPoint.sh.
#!/bin/bash BASEDIR=$(dirname $0) cd $BASEDIR java -jar *spring-boot*.jar
Aggiungere la risorsa Endpoints nel file gs-spring-boot/SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/ServiceManifest.xml
<Resources> <Endpoints> <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" /> </Endpoints> </Resources>
Il file ServiceManifest.xml sarà ora simile al seguente:
<?xml version="1.0" encoding="utf-8"?> <ServiceManifest Name="SpringGettingStartedPkg" Version="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" > <ServiceTypes> <StatelessServiceType ServiceTypeName="SpringGettingStartedType" UseImplicitHost="true"> </StatelessServiceType> </ServiceTypes> <CodePackage Name="code" Version="1.0.0"> <EntryPoint> <ExeHost> <Program>entryPoint.sh</Program> <Arguments></Arguments> <WorkingFolder>CodePackage</WorkingFolder> </ExeHost> </EntryPoint> </CodePackage> <Resources> <Endpoints> <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" /> </Endpoints> </Resources> </ServiceManifest>
In questa fase è stata creata un'applicazione di Service Fabric per il progetto di esempio Introduzione a Spring Boot che è possibile distribuire in Service Fabric.
Eseguire l'applicazione in locale
Per avviare il cluster locale nei computer Ubuntu, eseguire il comando seguente:
sudo /opt/microsoft/sdk/servicefabric/common/clustersetup/devclustersetup.sh
Se si usa un Mac, avviare il cluster locale dall'immagine Docker (si presuppone che siano stati seguiti i prerequisiti per configurare il cluster locale per Mac).
docker run --name sftestcluster -d -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 -p 8080:8080 mysfcluster
L'avvio del cluster locale può richiedere tempo. Per verificare se il cluster è in esecuzione, accedere a Service Fabric Explorer in
http://localhost:19080
. I cinque nodi integri indicano che il cluster locale è in esecuzione.Aprire la cartella gs-spring-boot/SpringServiceFabric.
Eseguire il comando seguente per connettersi al cluster locale.
sfctl cluster select --endpoint http://localhost:19080
Eseguire lo script install.sh.
./install.sh
Aprire il Web browser preferito e accedere all'applicazione tramite
http://localhost:8080
.
È ora possibile accedere all'applicazione Spring Boot distribuita in un cluster di Service Fabric.
Per altre informazioni, vedere l'esempio Introduzione di Spring Boot nel sito Web Spring.
Ridimensionare applicazioni e servizi in un cluster
I servizi possono essere facilmente ridimensionati in un cluster per supportare le modifiche del carico sui servizi. È possibile ridimensionare un servizio modificando il numero di istanze in esecuzione nel cluster. Sono disponibili diversi sistemi per garantire il ridimensionamento dei servizi. È ad esempio possibile usare gli script o i comandi dell'interfaccia della riga di comando di Service Fabric (sfctl). I passaggi seguenti usano Service Fabric Explorer.
Service Fabric Explorer è in esecuzione in tutti i cluster di Service Fabric ed è accessibile da un browser passando alla porta di gestione HTTP (19080) del cluster, ad esempio http://localhost:19080
.
Per ridimensionare il servizio front-end Web, seguire questa procedura:
Aprire Service Fabric Explorer nel cluster, ad esempio
http://localhost:19080
.Selezionare i puntini di sospensione (...) accanto al nodo fabric:/SpringServiceFabric/SpringGettingStarted nella visualizzazione ad albero e selezionare Scale Service (Ridimensiona servizio).
È ora possibile scegliere di modificare il numero di istanze del servizio.
Impostare il numero su 3 e selezionare Scale Service (Ridimensiona servizio).
Di seguito è illustrato un modo alternativo per modificare il numero di istanze del servizio tramite la riga di comando.
# Connect to your local cluster sfctl cluster select --endpoint https://<ConnectionIPOrURL>:19080 --pem <path_to_certificate> --no-verify # Run Bash command to scale instance count for your service sfctl service update --service-id 'SpringServiceFabric~SpringGettingStarted' --instance-count 3 --stateless
Selezionare il nodo fabric:/SpringServiceFabric/SpringGettingStarted nella visualizzazione struttura ad albero ed espandere il nodo della partizione (rappresentato da un GUID).
Il servizio ha tre istanze. Nella visualizzazione ad albero viene indicato in quali nodi vengono eseguite.
Con questa semplice attività di gestione, sono state raddoppiate le risorse disponibili per il servizio front-end per l'elaborazione del carico utente. È importante comprendere che non sono necessarie più istanze di un servizio perché questo venga eseguito in modo affidabile. In caso di problemi di un servizio, Service Fabric assicura l'esecuzione di una nuova istanza del servizio nel cluster.
Servizi di failover in un cluster
Per dimostrare il failover del servizio, viene simulato il riavvio di un nodo tramite Service Fabric Explorer. Verificare che sia in esecuzione una sola istanza del servizio.
Aprire Service Fabric Explorer nel cluster, ad esempio
http://localhost:19080
.Selezionare i puntini di sospensione (...) accanto al nodo che esegue l'istanza del servizio e riavviare il nodo.
L'istanza del servizio verrà spostata in un altro nodo e nell'applicazione non si verificheranno tempi di inattività.
Passaggi successivi
In questa guida introduttiva si è appreso come:
- Distribuire un'applicazione Spring Boot in Service Fabric
- Distribuire l'applicazione nel cluster locale
- Scalare in orizzontale l'applicazione in più nodi
- Eseguire il failover del servizio senza compromettere la disponibilità
Per altre informazioni sull'uso di app Java in Service Fabric, continuare con l'esercitazione sulle app Java.