Příprava aplikace na nasazení v Azure Spring Apps
Poznámka:
Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.
Tento článek se vztahuje na: ✔️ Basic/Standard ✔️ Enterprise
Tento článek ukazuje, jak připravit existující aplikaci Steeltoe pro nasazení do Azure Spring Apps. Azure Spring Apps poskytuje robustní služby pro hostování, monitorování, škálování a aktualizaci aplikace Steeltoe.
Tento článek vysvětluje závislosti, konfiguraci a kód, které jsou potřeba ke spuštění aplikace .NET Core Steeltoe v Azure Spring Apps. Informace o nasazení aplikace do Azure Spring Apps najdete v tématu Nasazení první aplikace Spring Boot v Azure Spring Apps.
Poznámka:
Podpora Steeltoe pro Azure Spring Apps se v současné době nabízí jako veřejná verze Preview. Nabídky Public Preview umožňují zákazníkům experimentovat s novými funkcemi před oficiální verzí. Funkce a služby Ve verzi Public Preview nejsou určené pro produkční použití. Další informace o podpoře ve verzích Preview najdete v nejčastějších dotazech nebo vytvoření žádosti o podporu.
Podporované verze
Azure Spring Apps podporuje:
- .NET Core 3.1
- Steeltoe 2.4 a 3.0
Závislosti
Pro Steeltoe 2.4 přidejte do souboru projektu nejnovější balíček Microsoft.Azure.SpringCloud.Client 1.x.x :
<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>
Pro Steeltoe 3.0 přidejte do souboru projektu nejnovější balíček Microsoft.Azure.SpringCloud.Client 2.x.x :
<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>
Aktualizace Program.cs
Program.Main
V metodě zavolejte metoduUseAzureSpringCloudService
.
Pro Steeltoe 2.4.4, zavolejte UseAzureSpringCloudService
za ConfigureWebHostDefaults
a po AddConfigServer
, pokud je volána:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer()
.UseAzureSpringCloudService();
Pro Steeltoe 3.0.0 volejte UseAzureSpringCloudService
před ConfigureWebHostDefaults
a před jakýmkoli konfiguračním kódem Steeltoe:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseAzureSpringCloudService()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer();
Povolení zjišťování služby Serveru Eureka
Poznámka:
Eureka se nevztahuje na plán Enterprise. Pokud používáte plán Enterprise, přečtěte si téma Použití registru služeb.
Ve zdroji konfigurace, který se používá při spuštění aplikace v Azure Spring Apps, nastavte spring.application.name
stejný název jako aplikace Azure Spring Apps, do které je projekt nasazený.
Pokud například nasadíte projekt .NET pojmenovaný EurekaDataProvider
do aplikace Azure Spring Apps s názvem planet-weather-provider
appSettings.json soubor by měl obsahovat následující JSON:
"spring": {
"application": {
"name": "planet-weather-provider"
}
}
Použití zjišťování služeb
Pokud chcete volat službu pomocí zjišťování služby Serveru Eureka, nastavte požadavky HTTP na místo, kde http://<app_name>
app_name
je hodnota spring.application.name
cílové aplikace. Například následující kód volá planet-weather-provider
službu:
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]),
};
}
Tento článek ukazuje, jak připravit existující aplikaci Java Spring pro nasazení do Azure Spring Apps. Pokud je služba Azure Spring Apps správně nakonfigurovaná, poskytuje robustní služby pro monitorování, škálování a aktualizaci aplikace Java Spring.
Před spuštěním tohoto příkladu můžete vyzkoušet základní rychlý start.
Další příklady vysvětlují, jak nasadit aplikaci do Azure Spring Apps při konfiguraci souboru POM.
Tento článek vysvětluje požadované závislosti a postup jejich přidání do souboru POM.
Verze modulu Java Runtime
Podrobnosti najdete v části Java Runtime a verze operačního systému v nejčastějších dotazech k Azure Spring Apps.
Verze Spring Boot a Spring Cloud
Pokud chcete připravit existující aplikaci Spring Boot pro nasazení do Azure Spring Apps, zahrňte do souboru POM aplikace závislosti Spring Boot a Spring Cloud, jak je znázorněno v následujících částech.
Azure Spring Apps podporuje nejnovější hlavní verzi Spring Boot nebo Spring Cloud počínaje 30 dny od vydání. Azure Spring Apps podporuje nejnovější podverzi hned po vydání. Podporované verze Spring Boot můžete získat z verzí Spring Boot a Spring Cloud z verzí Spring Cloud.
Následující tabulka uvádí podporované kombinace Spring Bootu a Spring Cloudu:
Verze Spring Bootu | Verze Spring Cloudu | Ukončení komerční podpory |
---|---|---|
3.2.x | 2023.0.x také známý jako Leyton | 2026-02-23 |
3.1.x | 2022.0.3+ také známý jako Kilburn | 2025-08-18 |
3.0.x | 2022.0.3+ také známý jako Kilburn | 2025-02-24 |
2.7.x | 2021.0.3+ také známý jako Jubilee | 2025-08-24 |
2.6.x | 2021.0.3+ také známý jako Jubilee | 2024-02-24 |
Další informace najdete na následujících stránkách:
- Podpora verzí pro Javu, Spring Boot a další
- Podpora Spring Bootu
- Podpora spring cloudových konfigurací
- Podpora Spring Cloud Netflixu
- Přidání Spring Cloudu do existující aplikace Spring Boot
Další doporučené závislosti pro povolení funkcí Azure Spring Apps
Pokud chcete povolit integrované funkce Azure Spring Apps z registru služeb do distribuovaného trasování, musíte do své aplikace zahrnout také následující závislosti. Některé z těchto závislostí můžete odstranit, pokud pro konkrétní aplikace nepotřebujete odpovídající funkce.
Registr služeb
Pokud chcete použít spravovanou službu Azure Service Registry, zahrňte závislost spring-cloud-starter-netflix-eureka-client
do souboru pom.xml , jak je znázorněno tady:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Koncový bod serveru Registru služby se automaticky vloží jako proměnné prostředí do vaší aplikace. Aplikace se můžou zaregistrovat na serveru Service Registry a zjišťovat další závislé aplikace.
Povolení poznámky EnableDiscoveryClient
Do zdrojového kódu aplikace přidejte následující poznámku.
@EnableDiscoveryClient
Podívejte se například na aplikaci piggymetrics z předchozích příkladů:
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);
}
}
Distribuovaná konfigurace
Pokud chcete povolit distribuovanou konfiguraci v plánu Enterprise, použijte službu Konfigurace aplikací pro VMware Tanzu, což je jedna z proprietárních komponent VMware Tanzu. Služba Konfigurace aplikace pro Tanzu je nativní pro Kubernetes a liší se od Spring Cloud Config Serveru. Služba Konfigurace aplikace pro Tanzu umožňuje správu prostředků ConfigMap nativních pro Kubernetes, které jsou naplněné vlastnostmi definovanými v jednom nebo několika úložištích Git.
V plánu Enterprise neexistuje žádný server Spring Cloud Config Server, ale ke správě centralizovaných konfigurací můžete použít službu Konfigurace aplikací pro Tanzu. Další informace naleznete v tématu Použití služby Konfigurace aplikace pro Tanzu
Pokud chcete použít službu Konfigurace aplikací pro Tanzu, proveďte následující kroky pro každou aplikaci:
Přidejte explicitní vazbu aplikace, která deklaruje, že vaše aplikace musí používat službu Konfigurace aplikace pro Tanzu.
Poznámka:
Když změníte stav vazby nebo zrušení vazby, musíte aplikaci restartovat nebo znovu nasadit, aby se změna projevila.
Nastavte vzory konfiguračních souborů. Vzory konfiguračních souborů umožňují zvolit, kterou aplikaci a profiluje. Další informace naleznete v části Vzor použití služby Konfigurace aplikace pro Tanzu.
Další možností je nastavit vzory konfiguračních souborů současně s nasazením aplikace, jak je znázorněno v následujícím příkladu:
az spring app deploy \ --name <app-name> \ --artifact-path <path-to-your-JAR-file> \ --config-file-pattern <config-file-pattern>
Metriky
spring-boot-starter-actuator
Do části závislostí souboru pom.xml zahrňte závislost, jak je znázorněno tady:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Metriky se pravidelně natahují z koncových bodů JMX. Metriky můžete vizualizovat pomocí webu Azure Portal.
Upozorňující
Je nutné zadat spring.jmx.enabled=true
ve vlastnosti konfigurace. Jinak se metriky nedají vizualizovat na webu Azure Portal.
Viz také
- Analýza aplikačních protokolů a metrik
- Nastavení konfiguračního serveru
- Úvodní příručka k Springu
- Dokumentace ke Spring Bootu
Další kroky
V tomto článku jste zjistili, jak nakonfigurovat aplikaci Java Spring pro nasazení do Azure Spring Apps. Informace o nastavení instance konfiguračního serveru najdete v tématu Nastavení instance konfiguračního serveru.
Další ukázky jsou k dispozici na GitHubu: Ukázky Azure Spring Apps.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro