Sdílet prostřednictvím


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-providerappSettings.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:

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:

  1. 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.

  2. 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é

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.