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:
- Verziótámogatás Java, Spring Boot és egyebek esetén
- Spring Boot-támogatás
- A Spring Cloud Config támogatása
- Spring Cloud Netflix-támogatás
- Spring Cloud hozzáadása meglévő Spring Boot-alkalmazáshoz
Egyéb ajánlott függőségek az Azure Spring Apps funkcióinak engedélyezéséhez
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
- Alkalmazásnaplók és metrikák elemzése
- A konfigurációs kiszolgáló beállítása
- Spring rövid útmutató
- A Spring Boot dokumentációja
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.