Azure Spring Apps'te bir uygulamayı dağıtım için hazırlama

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makale şunlar için geçerlidir: ✔️ Temel/Standart ✔️ Kurumsal

Bu makalede, mevcut bir Steeltoe uygulamasını Azure Spring Apps'e dağıtım için hazırlama adımları gösterilmektedir. Azure Spring Apps bir Steeltoe uygulamasını barındırmak, izlemek, ölçeklendirmek ve güncelleştirmek için güçlü hizmetler sağlar.

Bu makalede, Azure Spring Apps'te .NET Core Steeltoe uygulamasını çalıştırmak için gereken bağımlılıklar, yapılandırma ve kod açıklanmaktadır. Bir uygulamayı Azure Spring Apps'e dağıtma hakkında bilgi için bkz . Azure Spring Apps'te ilk Spring Boot uygulamanızı dağıtma.

Not

Azure Spring Apps için Steeltoe desteği şu anda genel önizleme olarak sunulmaktadır. Genel önizleme teklifleri, müşterilerin resmi sürümden önce yeni özelliklerle denemelerine olanak sağlar. Genel önizleme özellikleri ve hizmetleri üretim kullanımı için tasarlanmamıştır. Önizlemeler sırasında destek hakkında daha fazla bilgi için bkz . SSS veya Destek isteği gönderme.

Desteklenen sürümler

Azure Spring Apps tarafından desteklenenler:

  • .NET Core 3.1
  • Steeltoe 2.4 ve 3.0

Bağımlılıklar

Steeltoe 2.4 için proje dosyasına en son Microsoft.Azure.SpringCloud.Client 1.x.x paketini ekleyin:

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

Steeltoe 3.0 için proje dosyasına en son Microsoft.Azure.SpringCloud.Client 2.x.x paketini ekleyin:

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

güncelleştirme Program.cs

yönteminde Program.Main yöntemini çağırın UseAzureSpringCloudService .

Steeltoe 2.4.4 için, çağrılırsa sonra ConfigureWebHostDefaults ve sonra AddConfigServer arayınUseAzureSpringCloudService:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
        .AddConfigServer()
        .UseAzureSpringCloudService();

Steeltoe 3.0.0 için, herhangi bir Steeltoe yapılandırma kodu öncesinde ve öncesinde ConfigureWebHostDefaults çağrısında UseAzureSpringCloudService bulunur:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseAzureSpringCloudService()
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
        .AddConfigServer();

Eureka Server hizmeti bulmayı etkinleştirme

Not

Eureka, Kurumsal plan için geçerli değildir. Kurumsal planı kullanıyorsanız bkz . Service Registry'yi kullanma.

Uygulama Azure Spring Apps'te çalıştırıldığında kullanılan yapılandırma kaynağında, projenin dağıtıldığı Azure Spring Apps uygulamasıyla aynı ada ayarlayın spring.application.name .

Örneğin, adlı bir .NET projesini uygulama adlı EurekaDataProviderplanet-weather-provider bir Azure Spring Apps uygulamasına dağıtırsanız Ayarlar.json dosyasında aşağıdaki JSON bulunmalıdır:

"spring": {
  "application": {
    "name": "planet-weather-provider"
  }
}

Hizmet bulmayı kullanma

Eureka Server hizmet bulmasını kullanarak bir hizmeti çağırmak için http://<app_name> hedef uygulamanın değeri spring.application.name olan yere app_name HTTP isteklerinde bulunun. Örneğin, aşağıdaki kod hizmeti çağırır 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]),
    };
}

Bu makalede, mevcut bir Java Spring uygulamasını Azure Spring Apps'e dağıtım için hazırlama adımları gösterilmektedir. Azure Spring Apps düzgün yapılandırılırsa Java Spring uygulamanızı izlemek, ölçeklendirmek ve güncelleştirmek için sağlam hizmetler sağlar.

Bu örneği çalıştırmadan önce temel hızlı başlangıcı deneyebilirsiniz.

Diğer örneklerde, POM dosyası yapılandırıldığında Azure Spring Apps'e bir uygulamanın nasıl dağıtılacağı açıklanmaktadır.

Bu makalede gerekli bağımlılıklar ve bunların POM dosyasına nasıl ekleneceği açıklanmaktadır.

Java Çalışma Zamanı sürümü

Ayrıntılar için Azure Spring Apps SSS'nin Java çalışma zamanı ve işletim sistemi sürümleri bölümüne bakın.

Spring Boot ve Spring Cloud sürümleri

Mevcut bir Spring Boot uygulamasını Azure Spring Apps'e dağıtıma hazırlamak için, aşağıdaki bölümlerde gösterildiği gibi uygulama POM dosyasına Spring Boot ve Spring Cloud bağımlılıklarını ekleyin.

Azure Spring Apps, yayımlandıktan sonraki 30 günden itibaren en son Spring Boot veya Spring Cloud ana sürümünü destekler. Azure Spring Apps, piyasaya çıkar çıkmaz en son ikincil sürümü destekler. Spring Boot Sürümlerinden desteklenen Spring Boot sürümlerini ve Spring Cloud sürümlerini Spring Cloud Sürümlerinden alabilirsiniz.

Aşağıdaki tabloda desteklenen Spring Boot ve Spring Cloud bileşimleri listelenmektedir:

Spring Boot sürümü Spring Cloud sürümü Ticari destek sonu
3.2.x 2023.0.x, Leyton olarak da bilinir 2026-02-23
3.1.x Kilburn olarak da bilinen 2022.0.3+ 2025-08-18
3.0.x Kilburn olarak da bilinen 2022.0.3+ 2025-02-24
2.7.x Jubilee olarak da bilinen 2021.0.3+ 2025-08-24
2.6.x Jubilee olarak da bilinen 2021.0.3+ 2024-02-24

Daha fazla bilgi için aşağıdaki sayfalara bakın:

Azure Spring Apps'in yerleşik özelliklerini hizmet kayıt defterinden dağıtılmış izlemeye etkinleştirmek için uygulamanıza aşağıdaki bağımlılıkları da eklemeniz gerekir. Belirli uygulamalar için ilgili özelliklere ihtiyacınız yoksa bu bağımlılıklardan bazılarını bırakabilirsiniz.

Hizmet Kayıt Defteri

Yönetilen Azure Service Registry hizmetini kullanmak için bağımlılığı burada gösterildiği gibi pom.xml dosyasına ekleyin:spring-cloud-starter-netflix-eureka-client

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

Service Registry sunucusunun uç noktası, uygulamanıza ortam değişkenleri olarak otomatik olarak eklenir. Uygulamalar kendilerini Service Registry sunucusuna kaydedebilir ve diğer bağımlı uygulamaları bulabilir.

EnableDiscoveryClient ek açıklaması

Uygulama kaynak koduna aşağıdaki ek açıklamayı ekleyin.

@EnableDiscoveryClient

Örneğin, önceki örneklerden piggymetrics uygulamasına bakın:

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);
    }
}

Dağıtılmış yapılandırma

Kurumsal planda dağıtılmış yapılandırmayı etkinleştirmek için, özel VMware Tanzu bileşenlerinden biri olan VMware Tanzu için Uygulama Yapılandırma Hizmeti'ni kullanın. Tanzu için Uygulama Yapılandırma Hizmeti, Kubernetes'e özeldir ve Spring Cloud Config Server'dan farklıdır. Tanzu için Uygulama Yapılandırma Hizmeti, bir veya daha fazla Git deposunda tanımlanan özelliklerden doldurulan Kubernetes-native ConfigMap kaynaklarının yönetilmesini sağlar.

Kurumsal planda Spring Cloud Config Server yoktur, ancak merkezi yapılandırmaları yönetmek için Tanzu için Uygulama Yapılandırma Hizmeti'ni kullanabilirsiniz. Daha fazla bilgi için bkz . Tanzu için Uygulama Yapılandırma Hizmeti'ni kullanma

Tanzu için Uygulama Yapılandırma Hizmeti'ni kullanmak için uygulamalarınızın her biri için aşağıdaki adımları uygulayın:

  1. Uygulamanızın Tanzu için Uygulama Yapılandırma Hizmeti'ni kullanması gerektiğini bildirmek için açık bir uygulama bağlaması ekleyin.

    Not

    Bağlama/bağlamayı kaldırma durumunu değiştirdiğinizde, değişikliğin etkili olması için uygulamayı yeniden başlatmanız veya yeniden dağıtmanız gerekir.

  2. Yapılandırma dosyası desenlerini ayarlayın. Yapılandırma dosyası desenleri, uygulamanın hangi uygulamayı ve profili kullandığını seçmenizi sağlar. Daha fazla bilgi için Tanzu için Uygulama Yapılandırma Hizmetini Kullanma'nın Desen bölümüne bakın.

    Bir diğer seçenek de aşağıdaki örnekte gösterildiği gibi yapılandırma dosyası desenlerini uygulama dağıtımınızla aynı anda ayarlamaktır:

       az spring app deploy \
           --name <app-name> \
           --artifact-path <path-to-your-JAR-file> \
           --config-file-pattern <config-file-pattern>
    

Ölçümler

spring-boot-starter-actuator Bağımlılığı burada gösterildiği gibi pom.xml dosyanızın bağımlılıklar bölümüne ekleyin:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Ölçümler JMX uç noktalarından düzenli aralıklarla çekilir. Azure portalını kullanarak ölçümleri görselleştirebilirsiniz.

Uyarı

Yapılandırma özelliğinizde belirtmelisiniz spring.jmx.enabled=true . Aksi takdirde ölçümler Azure portalında görselleştirilemez.

Ayrıca bkz.

Sonraki adımlar

Bu makalede, Java Spring uygulamanızı Azure Spring Apps'e dağıtım için yapılandırmayı öğrendiniz. Yapılandırma Sunucusu örneğinin nasıl ayarlandığını öğrenmek için bkz . Yapılandırma Sunucusu örneği ayarlama.

GitHub'da daha fazla örnek mevcuttur: Azure Spring Apps Örnekleri.