Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise
W tym artykule pokazano, jak przygotować istniejącą aplikację Steeltoe do wdrożenia w usłudze Azure Spring Apps. Usługa Azure Spring Apps oferuje niezawodne usługi do hostowania, monitorowania, skalowania i aktualizowania aplikacji Steeltoe.
W tym artykule wyjaśniono zależności, konfigurację i kod wymagany do uruchamiania aplikacji .NET Core Steeltoe w usłudze Azure Spring Apps. Aby uzyskać informacje o sposobie wdrażania aplikacji w usłudze Azure Spring Apps, zobacz Wdrażanie pierwszej aplikacji Spring Boot w usłudze Azure Spring Apps.
Uwaga
Obsługa usługi Steeltoe dla usługi Azure Spring Apps jest obecnie oferowana jako publiczna wersja zapoznawcza. Oferty publicznej wersji zapoznawczej umożliwiają klientom eksperymentowanie z nowymi funkcjami przed ich oficjalną wersją. Publiczne funkcje i usługi w wersji zapoznawczej nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji na temat pomocy technicznej podczas podglądów, zobacz często zadawane pytania lub zgłoś wniosek o pomoc techniczną.
Obsługiwane wersje
Usługa Azure Spring Apps obsługuje:
- .NET Core 3.1
- Steeltoe 2.4 i 3.0
Zależności
Dla Steeltoe 2.4 dodaj do pliku projektu najnowszy pakiet 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>
Dla Steeltoe 3.0 dodaj do pliku projektu najnowszy pakiet 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>
Zaktualizuj Program.cs
W metodzie Program.Main wywołaj metodę UseAzureSpringCloudService .
W przypadku Steeltoe 2.4.4 naciśnij UseAzureSpringCloudService po ConfigureWebHostDefaults oraz po AddConfigServer, jeśli to zostanie wywołane.
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer()
.UseAzureSpringCloudService();
W wersji Steeltoe 3.0.0 wywołaj UseAzureSpringCloudService przed ConfigureWebHostDefaults oraz przed wszelkim kodem konfiguracji Steeltoe.
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseAzureSpringCloudService()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer();
Włącz odkrywanie usług Eureka Server
Uwaga
Eureka nie ma zastosowania do planu Enterprise. Jeśli używasz planu Enterprise, zobacz Korzystanie z rejestru usług.
W źródle konfiguracji używanym podczas uruchamiania aplikacji w usłudze Azure Spring Apps ustaw spring.application.name tę samą nazwę co aplikacja Azure Spring Apps, do której jest wdrażany projekt.
Na przykład, jeśli wdrożysz projekt .NET o nazwie EurekaDataProvider w aplikacji Azure Spring Apps o nazwie planet-weather-provider, plik appSettings.json powinien zawierać następujący JSON:
"spring": {
"application": {
"name": "planet-weather-provider"
}
}
Korzystanie z odnajdywania usługi
Aby wywołać usługę za pomocą odnajdywania serwisów przez Serwer Eureka, wysyłaj żądania HTTP do http://<app_name>, gdzie app_name jest wartością spring.application.name aplikacji docelowej. Na przykład następujący kod wywołuje usługę planet-weather-provider :
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]),
};
}
W tym artykule pokazano, jak przygotować istniejącą aplikację Java Spring do wdrożenia w usłudze Azure Spring Apps. Jeśli usługa Azure Spring Apps została prawidłowo skonfigurowana, udostępnia niezawodne usługi do monitorowania, skalowania i aktualizowania aplikacji Java Spring.
Przed uruchomieniem tego przykładu, możesz wypróbować podstawowy szybki start.
Inne przykłady wyjaśniają, jak wdrożyć aplikację w usłudze Azure Spring Apps po skonfigurowaniu pliku POM.
W tym artykule wyjaśniono wymagane zależności i sposób dodawania ich do pliku POM.
Wersja środowiska uruchomieniowego Java
Aby uzyskać szczegółowe informacje, zobacz sekcję Środowiska uruchomieniowego Java i wersji systemu operacyjnego w często zadawanych pytaniach dotyczących usługi Azure Spring Apps.
Wersje Spring Boot i Spring Cloud
Aby przygotować istniejącą aplikację Spring Boot do wdrożenia w usłudze Azure Spring Apps, dołącz zależności Spring Boot i Spring Cloud w pliku POM aplikacji, jak pokazano w poniższych sekcjach.
Usługa Azure Spring Apps obsługuje najnowszą wersję główną platformy Spring Boot lub Spring Cloud, począwszy od 30 dni od jej wydania. Usługa Azure Spring Apps obsługuje najnowszą wersję pomocniczą natychmiast po jej wydaniu. Obsługiwane wersje Spring Boot można znaleźć w Spring Boot Releases, a wersje Spring Cloud w Spring Cloud Releases.
W poniższej tabeli wymieniono obsługiwane kombinacje rozwiązań Spring Boot i Spring Cloud:
| Wersja Spring Boot | Wersja platformy Spring Cloud | Koniec wsparcia |
|---|---|---|
| 3.2.x | 2023.0.x znany również jako Leyton | 2024-11-23 |
| 3.1.x | 2022.0.3+ znany również jako Kilburn | 2024-05-18 |
| 3.0.x | 2022.0.3+ znany również jako Kilburn | 2023-11-24 |
| 2.7.x | 2021.0.3+ znany również jako Jubileusz | 2023-11-24 |
Aby uzyskać więcej informacji, zobacz następujące strony:
- Obsługa wersji dla języków Java, Spring Boot i innych
- Obsługa platformy Spring Boot
- Obsługa konfiguracji platformy Spring Cloud
- Obsługa platformy Spring Cloud Netflix
- Dodawanie usługi Spring Cloud do istniejącej aplikacji Spring Boot
Inne zalecane zależności umożliwiające włączanie funkcji usługi Azure Spring Apps
Aby włączyć wbudowane funkcje usługi Azure Spring Apps z rejestru usług do śledzenia rozproszonego, należy również uwzględnić następujące zależności w aplikacji. Niektóre z tych zależności można usunąć, jeśli nie potrzebujesz odpowiednich funkcji dla określonych aplikacji.
Rejestr usług
Aby użyć zarządzanej usługi Azure Service Registry, dodaj spring-cloud-starter-netflix-eureka-client zależność w pliku pom.xml, jak pokazano poniżej:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Punkt końcowy serwera rejestru usług jest automatycznie wstrzykiwany jako zmienne środowiskowe w aplikacji. Aplikacje mogą rejestrować się na serwerze usługi Service Registry i odnajdywać inne aplikacje zależne.
adnotacja EnableDiscoveryClient
Dodaj następującą adnotację do kodu źródłowego aplikacji.
@EnableDiscoveryClient
Zobacz na przykład aplikację piggymetrics z wcześniejszych przykładów:
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);
}
}
Konfiguracja rozproszona
Aby włączyć konfigurację rozproszoną, dołącz następującą spring-cloud-config-client zależność w sekcji zależności pliku pom.xml :
<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>
Ostrzeżenie
Nie określaj spring.cloud.config.enabled=false w swojej konfiguracji rozruchu. W przeciwnym razie aplikacja przestanie działać z serwerem konfiguracji.
Metryki
Uwzględnij spring-boot-starter-actuator zależność w sekcji zależności pliku pom.xml , jak pokazano tutaj:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Metryki są okresowo pobierane z punktów końcowych JMX. Metryki można wizualizować przy użyciu witryny Azure Portal.
Ostrzeżenie
Musisz określić spring.jmx.enabled=true we właściwości konfiguracji. W przeciwnym razie nie można wizualizować metryk w witrynie Azure Portal.
Zobacz też
- Analizowanie dzienników aplikacji i metryk
- Konfigurowanie serwera konfiguracji
- Przewodnik szybkiego uruchamiania Spring
- Dokumentacja platformy Spring Boot
Następne kroki
W tym artykule przedstawiono sposób konfigurowania aplikacji Java Spring na potrzeby wdrażania w usłudze Azure Spring Apps. Aby dowiedzieć się, jak skonfigurować wystąpienie serwera konfiguracji, zobacz Skonfiguruj wystąpienie serwera konfiguracji.
Więcej przykładów jest dostępnych w witrynie GitHub: Przykłady usługi Azure Spring Apps.