Cvičení – nasazení aplikace Spring Boot Redis do Azure

Dokončeno

Když teď všechno běží místně, můžete aplikaci nasadit do cloudu a otestovat její chování v produkčním prostředí.

Vytvoření instance služby Azure App Service

Vytvořte instanci služby Azure App Service pro hostování vaší aplikace. Pomocí následujícího kódu Azure CLI vytvořte základní plán služby App Service, který používá Linux, a pak do tohoto plánu přidejte instanci Javy ve službě App Service.

Pokud chcete místo Javy 8 používat Javu 11 nebo Javu 17, použijte místo "JAVA|8-jre8" jako modul runtime webové aplikace "JAVA|<version>-java<version>".

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

Poznámka

Předchozí kód znovu použije proměnnou $AZ_REDIS_NAME k pojmenování plánu služby App Service a instance služby App Service, ale můžete použít různé názvy. Název instance služby App Service je součástí adresy URL, která musí být jedinečná v rámci Azure.

Během dokončení tohoto nasazení můžete provést další krok.

Nasazení aplikace Spring Boot do služby Azure App Service

  1. Do souboru pom.xml projektu přidejte do části <plugins> následující nový modul plug-in:

    <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>
    

    Poznámka

    Předchozí konfigurace používá proměnné prostředí, které jste nakonfigurovali dříve. Aby tato konfigurace fungovala, ujistěte se, že jsou správně nastavené $AZ_RESOURCE_GROUP a $AZ_REDIS_NAME proměnné.

  2. Po dokončení nasazení služby App Service spusťte následující příkaz, který zabalí vaši aplikaci a nasadí ji do Azure:

    ./mvnw package azure-webapp:deploy
    
  3. Po úspěšném dokončení nasazení se vrátí následující řádek:

    Successfully deployed the artifact to https://<redisName>-webapp.azurewebsites.net
    

    Poznamenejte si adresu URL spuštěné aplikace, jak je znázorněno v předchozím výstupu, abyste ji mohli použít v další části.

Testování aplikace v Azure

Pomocí adresy URL aplikace spusťte stejné příkazy url klienta (cURL) v cloudu, který jste použili na místním serveru.

  1. Pokud chcete přidat datovou položku, spusťte následující příkaz:

    curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
    
  2. Pokud chcete načíst data, spusťte:

    curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
    
  3. Pokud chcete zvýšit relaci, spusťte několikrát následující příkaz:

    curl -b cookie.txt -c cookie.txt https://$AZ_REDIS_NAME-webapp.azurewebsites.net/session
    

Místní server a cloudová služba používají stejnou instanci Redis, takže jsou clusterované. Data, která zapíšete v jedné instanci, jsou k dispozici v druhé instanci. Cloudová služba se může škálovat přidáním dalších uzlů, které používají stejnou instanci Redis k ukládání obchodních dat i dat relací.