Oefening: de Spring Boot Redis-toepassing implementeren in Azure
Nu alles lokaal wordt uitgevoerd, kunt u de toepassing implementeren in de cloud en het gedrag ervan testen in productie.
Een Azure App Service-exemplaar maken
Maak een Azure App Service-exemplaar om uw toepassing te hosten. Gebruik de volgende Azure CLI-code om een eenvoudig App Service-plan te maken dat gebruikmaakt van Linux en voeg vervolgens een exemplaar van Java in App Service in dat plan toe.
Als u Java 11 of Java 17 in plaats van Java 8 wilt gebruiken, gebruikt u "JAVA|<version>-java<version>"
in plaats van "JAVA|8-jre8"
als runtime van de webtoepassing.
az appservice plan create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp-plan \
--is-linux \
--sku B1
az webapp create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp \
--runtime "JAVA|8-jre8" \
--plan $AZ_REDIS_NAME-webapp-plan
Notitie
Met de voorgaande code wordt de variabele $AZ_REDIS_NAME
opnieuw gebruikt om het App Service-plan en het App Service-exemplaar een naam te geven, maar u kunt verschillende namen gebruiken. De naam van het App Service-exemplaar maakt deel uit van de URL, die uniek moet zijn in Azure.
U kunt de volgende stap uitvoeren terwijl deze implementatie is voltooid.
De Spring Boot-toepassing implementeren in Azure App Service
Voeg in het pom.xml bestand van uw project de volgende nieuwe invoegtoepassing toe in de sectie
<plugins>
:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.11.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>${env.AZ_RESOURCE_GROUP}</resourceGroup> <appName>${env.AZ_REDIS_NAME}-webapp</appName> <deployment> <resources> <resource> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
Notitie
In de voorgaande configuratie worden de omgevingsvariabelen gebruikt die u eerder hebt geconfigureerd. Zorg ervoor dat uw
$AZ_RESOURCE_GROUP
en$AZ_REDIS_NAME
variabelen correct zijn ingesteld om deze configuratie te laten werken.Nadat de Implementatie van App Service is voltooid, voert u de volgende opdracht uit om uw toepassing te verpakken en te implementeren in Azure:
./mvnw package azure-webapp:deploy
Wanneer de implementatie is voltooid, wordt de volgende regel geretourneerd:
Successfully deployed the artifact to https://<redisName>-webapp.azurewebsites.net
Noteer de URL van uw actieve toepassing, zoals wordt weergegeven in de voorgaande uitvoer, die u in de volgende sectie wilt gebruiken.
De toepassing testen in Azure
Gebruik uw toepassings-URL om dezelfde cURL-opdrachten (client-URL) uit te voeren in de cloud die u op uw lokale server hebt gebruikt.
Voer de volgende opdracht uit om een gegevensitem toe te voegen:
curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Voer het volgende uit om de gegevens op te halen:
curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Als u uw sessie wilt verhogen, voert u de volgende opdracht meerdere keren uit:
curl -b cookie.txt -c cookie.txt https://$AZ_REDIS_NAME-webapp.azurewebsites.net/session
Uw lokale server en uw cloudservice gebruiken hetzelfde Redis-exemplaar, zodat ze zijn geclusterd. Gegevens die u in het ene exemplaar schrijft, zijn beschikbaar in het andere exemplaar. De cloudservice kan worden uitgebreid door meer knooppunten toe te voegen die allemaal hetzelfde Redis-exemplaar gebruiken om zowel zakelijke gegevens als sessiegegevens op te slaan.