Gyakorlat – A Spring Boot Redis-alkalmazás üzembe helyezése az Azure-ban

Befejeződött

Most, hogy minden helyileg fut, üzembe helyezheti az alkalmazást a felhőben, és tesztelheti annak működését éles környezetben.

Azure App Service-példány létrehozása

Hozzon létre egy Azure-alkalmazás szolgáltatáspéldányt az alkalmazás üzemeltetéséhez. Az alábbi Azure CLI-kóddal hozzon létre egy alapszintű, Linuxot használó App Service-csomagot, majd vegyen fel egy Java-példányt az App Service-ben.

Ha Java 8 helyett Java 11-et vagy Java 17-et szeretne használni, használja "JAVA|<version>-java<version>" webalkalmazás-futtatókörnyezet "JAVA|8-jre8" helyett.

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

Megjegyzés:

Az előző kód újra felhasználja a változót az $AZ_REDIS_NAME App Service-csomag és az App Service-példány elnevezéséhez, de különböző neveket is használhat. Az App Service-példány neve az URL-cím része, amelynek egyedinek kell lennie az Azure-ban.

A következő lépés az üzembe helyezés befejeződése közben is elvégezhető.

A Spring Boot-alkalmazás üzembe helyezése Azure-alkalmazás szolgáltatásban

  1. A projekt pom.xml fájljában adja hozzá a következő új beépülő modult a <plugins> szakaszban:

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

    Megjegyzés:

    Az előző konfiguráció a korábban konfigurált környezeti változókat használja. A konfiguráció működéséhez győződjön meg arról, hogy a változók és $AZ_REDIS_NAME a $AZ_RESOURCE_GROUP változók megfelelően vannak beállítva.

  2. Az App Service üzembe helyezése után futtassa a következő parancsot az alkalmazás csomagolásához és az Azure-ban való üzembe helyezéséhez:

    ./mvnw package azure-webapp:deploy
    
  3. Ha az üzembe helyezés sikeresen befejeződött, a következő sort adja vissza:

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

    Jegyezze fel a futó alkalmazás URL-címét az előző kimenetben látható módon, hogy a következő szakaszban használhassa.

Az alkalmazás tesztelése az Azure-ban

Az alkalmazás URL-címével futtassa ugyanazokat az ügyfél URL-címeket (cURL) a felhőben, amelyeket a helyi kiszolgálón használt.

  1. Adatelem hozzáadásához futtassa a következő parancsot:

    curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
    
  2. Az adatok lekéréséhez futtassa a következőt:

    curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
    
  3. A munkamenet növeléséhez futtassa többször a következő parancsot:

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

A helyi kiszolgáló és a felhőszolgáltatás ugyanazt a Redis-példányt használja, így fürtözve vannak. Az egyik példányban írt adatok a másik példányban érhetők el. A felhőszolgáltatás vertikálisan felskálázható, ha több csomópontot ad hozzá, amelyek mindegyike ugyanazt a Redis-példányt használja az üzleti adatok és a munkamenet-adatok tárolásához.