Megosztás a következőn keresztül:


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

Feljegyzés

Az Alapszintű, a Standard és a Nagyvállalati csomag 2025. március közepétől megszűnik, 3 éves nyugdíjazási időszakkal. Javasoljuk, hogy váltson az Azure Container Appsre. További információkért lásd az Azure Spring Apps kivonási bejelentését.

A standard felhasználás és a dedikált csomag 2024. szeptember 30-tól megszűnik, hat hónap után pedig teljes leállítással. Javasoljuk, hogy váltson az Azure Container Appsre. További információ: Azure Spring Apps Standard-használat migrálása és dedikált csomag az Azure Container Appsbe.

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 UseAzureSpringCloudService ConfigureWebHostDefaults é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 a appSettings.json nevű Azure Spring Apps-alkalmazásban planet-weather-provider üzembe helyez egy .NET-projektetEurekaDataProvider, a következő JSON-t kell tartalmaznia:

"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ó Támogatás megszűnése
3.2.x 2023.0.x más néven Leyton 2024-11-23
3.1.x 2022.0.3+ más néven Kilburn 2024-05-18
3.0.x 2022.0.3+ más néven Kilburn 2023-11-24
2.7.x 2021.0.3+ más néven Jubileum 2023-11-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ó engedélyezéséhez adja meg a következő spring-cloud-config-client függőségeket a pom.xml fájl függőségek szakaszában:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

Figyelmeztetés

Ne adja meg spring.cloud.config.enabled=false a rendszerindító konfigurációját. Ellenkező esetben az alkalmazás nem működik a Config Serverrel.

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.