Alkalmazás előkészítése üzembe helyezésre az Azure Spring Appsben

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik: ✔️ Basic/Standard ✔️ Enterprise

Ez a cikk bemutatja, hogyan készíthet elő egy meglévő Steeltoe-alkalmazást az Azure Spring Appsben való üzembe helyezéshez. Az Azure Spring Apps robusztus szolgáltatásokat nyújt a Steeltoe-alkalmazások üzemeltetéséhez, monitorozásához, méretezéséhez és frissítéséhez.

Ez a cikk a .NET Core Steeltoe-alkalmazások Azure Spring Appsben való futtatásához szükséges függőségeket, konfigurációkat és kódot ismerteti. Az alkalmazások Azure Spring Appsben való üzembe helyezéséről további információt az első Spring Boot-alkalmazás üzembe helyezése az Azure Spring Appsben című témakörben talál.

Feljegyzés

Az Azure Spring Apps Steeltoe-támogatása jelenleg nyilvános előzetes verzióként érhető el. A nyilvános előzetes verziós ajánlatok lehetővé teszik, hogy az ügyfelek a hivatalos megjelenés előtt kísérletezhessenek az új funkciókkal. A nyilvános előzetes verziójú funkciók és szolgáltatások nem éles használatra szolgálnak. Az előzetes verziók támogatásával kapcsolatos további információkért tekintse meg a gyakori kérdéseket, vagy küldjön egy támogatási kérést.

Támogatott verziók

Az Azure Spring Apps a következőket támogatja:

  • .NET Core 3.1
  • Steeltoe 2.4 és 3.0

Függőségek

A Steeltoe 2.4 esetében adja hozzá a legújabb Microsoft.Azure.SpringCloud.Client 1.x.x csomagot a projektfájlhoz:

<ItemGroup>
  <PackageReference Include="Microsoft.Azure.SpringCloud.Client" Version="1.0.0-preview.1" />
  <PackageReference Include="Steeltoe.Discovery.ClientCore" Version="2.4.4" />
  <PackageReference Include="Steeltoe.Extensions.Configuration.ConfigServerCore" Version="2.4.4" />
  <PackageReference Include="Steeltoe.Management.TracingCore" Version="2.4.4" />
  <PackageReference Include="Steeltoe.Management.ExporterCore" Version="2.4.4" />
</ItemGroup>

A Steeltoe 3.0-hoz adja hozzá a legújabb Microsoft.Azure.SpringCloud.Client 2.x.x csomagot a projektfájlhoz:

<ItemGroup>
  <PackageReference Include="Microsoft.Azure.SpringCloud.Client" Version="2.0.0-preview.1" />
  <PackageReference Include="Steeltoe.Discovery.ClientCore" Version="3.0.0" />
  <PackageReference Include="Steeltoe.Extensions.Configuration.ConfigServerCore" Version="3.0.0" />
  <PackageReference Include="Steeltoe.Management.TracingCore" Version="3.0.0" />
</ItemGroup>

Program.cs frissítése

A metódusban Program.Main hívja meg a metódust UseAzureSpringCloudService .

A Steeltoe 2.4.4 esetén hívja meg a következőt UseAzureSpringCloudServiceConfigureWebHostDefaults és utána AddConfigServer , ha a rendszer meghívja:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
        .AddConfigServer()
        .UseAzureSpringCloudService();

Steeltoe 3.0.0 esetén hívja meg UseAzureSpringCloudService a Steeltoe bármely konfigurációs kódját:ConfigureWebHostDefaults

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseAzureSpringCloudService()
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
        .AddConfigServer();

Az Eureka Server szolgáltatásfelderítésének engedélyezése

Feljegyzés

Az Eureka nem alkalmazható az Enterprise-csomagra. Ha a Vállalati csomagot használja, olvassa el a Szolgáltatásregisztrációs adatbázis használata című témakört.

Az alkalmazás Azure Spring Appsben való futtatásakor használt konfigurációs forrásban állítsa spring.application.name ugyanazt a nevet, mint az Azure Spring Apps alkalmazás, amelyre a projektet üzembe helyezi.

Ha például üzembe helyez egy .NET-projektet, amelyet EurekaDataProvider az alkalmazás nevű planet-weather-providerAzure Spring Apps-alkalmazásba helyez üzembe Gépház.json fájlnak tartalmaznia kell a következő JSON-t:

"spring": {
  "application": {
    "name": "planet-weather-provider"
  }
}

Szolgáltatásfelderítés használata

Ha egy szolgáltatást az Eureka Server szolgáltatásfelderítésével szeretne meghívni, http-kéréseket kell küldenie arra, hogy http://<app_name> hol app_name található a célalkalmazás értéke spring.application.name . A következő kód például meghívja a planet-weather-provider szolgáltatást:

using (var client = new HttpClient(discoveryHandler, false))
{
    var responses = await Task.WhenAll(
        client.GetAsync("http://planet-weather-provider/weatherforecast/mercury"),
        client.GetAsync("http://planet-weather-provider/weatherforecast/saturn"));
    var weathers = await Task.WhenAll(from res in responses select res.Content.ReadAsStringAsync());
    return new[]
    {
        new KeyValuePair<string, string>("Mercury", weathers[0]),
        new KeyValuePair<string, string>("Saturn", weathers[1]),
    };
}

Ez a cikk bemutatja, hogyan készíthet elő egy meglévő Java Spring-alkalmazást az Azure Spring Appsben való üzembe helyezéshez. Ha megfelelően van konfigurálva, az Azure Spring Apps robusztus szolgáltatásokat nyújt a Java Spring-alkalmazás figyeléséhez, méretezéséhez és frissítéséhez.

A példa futtatása előtt kipróbálhatja az alapvető rövid útmutatót.

Más példák azt mutatják be, hogyan helyezhet üzembe alkalmazásokat az Azure Spring Appsben a POM-fájl konfigurálásakor.

Ez a cikk bemutatja a szükséges függőségeket, és azt, hogy miként adhatja hozzá őket a POM-fájlhoz.

Java-futtatókörnyezet verziója

További részletekért tekintse meg az Azure Spring Apps gyakori kérdéseinek Java-futtatókörnyezeti és operációsrendszer-verziókkal foglalkozó szakaszát.

Spring Boot- és Spring Cloud-verziók

Ha egy meglévő Spring Boot-alkalmazást szeretne előkészíteni az Azure Spring Apps üzembe helyezéséhez, vegye fel a Spring Boot- és Spring Cloud-függőségeket az alkalmazás POM-fájljában az alábbi szakaszokban látható módon.

Az Azure Spring Apps a spring boot vagy a Spring Cloud legújabb főverzióját támogatja a kiadást követő 30 naptól kezdve. Az Azure Spring Apps a kiadás után azonnal támogatja a legújabb alverziót. A Spring Boot-kiadások és a Spring Cloud-verziók támogatott Spring Boot-verzióit a Spring Cloud-kiadásokból szerezheti be.

Az alábbi táblázat a támogatott Spring Boot- és Spring Cloud-kombinációkat sorolja fel:

Spring Boot-verzió Spring Cloud-verzió A kereskedelmi támogatás megszűnése
3.2.x 2023.0.x más néven Leyton 2026-02-23
3.1.x 2022.0.3+ más néven Kilburn 2025-08-18
3.0.x 2022.0.3+ más néven Kilburn 2025-02-24
2.7.x 2021.0.3+ más néven Jubileum 2025-08-24
2.6.x 2021.0.3+ más néven Jubileum 2024-02-24

További információkért tekintse meg a következő oldalakat:

Ha engedélyezni szeretné az Azure Spring Apps beépített funkcióit a szolgáltatásregisztrációs adatbázisból az elosztott nyomkövetésre, az alábbi függőségeket is be kell vonnia az alkalmazásba. A függőségek némelyikét elvetheti, ha nincs szüksége az adott alkalmazások megfelelő funkcióira.

Szolgáltatásregisztrációs adatbázis

A felügyelt Azure Service Registry szolgáltatás használatához vegye fel a függőséget a spring-cloud-starter-netflix-eureka-client pom.xml fájlba az itt látható módon:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

A Service Registry-kiszolgáló végpontja automatikusan környezeti változóként lesz injektálva az alkalmazásba. Az alkalmazások regisztrálhatják magukat a Service Registry-kiszolgálón, és felderíthetnek más függő alkalmazásokat.

EnableDiscoveryClient annotation

Adja hozzá a következő megjegyzést az alkalmazás forráskódjába.

@EnableDiscoveryClient

Lásd például a piggymetrics alkalmazást a korábbi példákból:

package com.piggymetrics.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@SpringBootApplication
@EnableDiscoveryClient
@EnableZuulProxy

public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}

Elosztott konfiguráció

Az elosztott konfiguráció nagyvállalati csomagban való engedélyezéséhez használja a VMware Tanzu alkalmazáskonfigurációs szolgáltatását, amely a VMware Tanzu egyik védett összetevője. A Tanzu alkalmazáskonfigurációs szolgáltatása Kubernetes-natív, és eltér a Spring Cloud Config Servertől. A Tanzu alkalmazáskonfigurációs szolgáltatása lehetővé teszi a Kubernetes-natív ConfigMap-erőforrások kezelését, amelyek egy vagy több Git-adattárban meghatározott tulajdonságokból vannak feltöltve.

A Nagyvállalati csomagban nincs Spring Cloud konfigurációs kiszolgáló, de a Tanzu-hoz készült Application Configuration Service használatával kezelheti a központosított konfigurációkat. További információ: A Tanzu alkalmazáskonfigurációs szolgáltatásának használata

Az Application Configuration Service for Tanzu használatához hajtsa végre az alábbi lépéseket az egyes alkalmazásokhoz:

  1. Adjon hozzá egy explicit alkalmazáskötést annak deklarálásához, hogy az alkalmazásnak a Tanzu alkalmazáskonfigurációs szolgáltatását kell használnia.

    Feljegyzés

    A kötés/kötés megszüntetése állapotának módosításakor újra kell indítania vagy újra kell üzembe helyeznie az alkalmazást a módosítás érvénybe lépéséhez.

  2. Konfigurációs fájlminták beállítása. A konfigurációs fájlminták lehetővé teszik az alkalmazás által használt alkalmazás és profil kiválasztását. További információkért lásd a Tanzuhoz készült Use Application Configuration Service mintaszakaszát.

    Egy másik lehetőség a konfigurációs fájlminták beállítása az alkalmazás üzembe helyezésével egy időben, ahogy az alábbi példában látható:

       az spring app deploy \
           --name <app-name> \
           --artifact-path <path-to-your-JAR-file> \
           --config-file-pattern <config-file-pattern>
    

Mérőszámok

Adja meg a spring-boot-starter-actuator függőséget a pom.xml fájl függőségek szakaszában az itt látható módon:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

A metrikákat rendszeresen leküldi a rendszer a JMX-végpontokról. A metrikákat az Azure Portalon jelenítheti meg.

Figyelmeztetés

A konfigurációs tulajdonságban meg kell adnia spring.jmx.enabled=true . Ellenkező esetben a metrikák nem jeleníthetők meg az Azure Portalon.

Lásd még

Következő lépések

Ebből a cikkből megtudhatja, hogyan konfigurálhatja a Java Spring-alkalmazást az Azure Spring Appsben való üzembe helyezéshez. A Config Server-példányok beállításáról további információt a Konfigurációkiszolgáló-példány beállítása című témakörben talál.

További minták érhetők el a GitHubon: Azure Spring Apps-minták.