Aracılığıyla paylaş


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

Not

Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.

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 SSS'ye bakın veya destek isteği gönderin.

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>

Program.cs dosyasını güncelleştir

Program.Main metodunda UseAzureSpringCloudService metodunu çağırın.

Steeltoe 2.4.4 için, önce UseAzureSpringCloudService sonra ConfigureWebHostDefaults ve AddConfigServer çağrılırsa arayın.

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

Steeltoe 3.0.0 için, UseAzureSpringCloudService ve herhangi bir Steeltoe yapılandırma kodundan önce ConfigureWebHostDefaults çağrısını yapın.

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 Service Registry'yi kullanma bölümüne bakın.

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

Örneğin, adlı EurekaDataProvider bir .NET projesini appSettings.json dosyası adlı planet-weather-providerbir Azure Spring Apps uygulamasına dağıtırsanız aşağıdaki JSON'ı içermelidir:

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

Servis keşfini kullanma

Eureka Sunucusu hizmet keşfini kullanarak bir hizmeti çağırmak için, hedef uygulamanın http://<app_name> değerini app_name belirterek spring.application.name adresine HTTP istekleri gönderin. Ö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 Runtime sürümü

Ayrıntılar için Java çalışma zamanı ve işletim sistemi sürümleri bölümüne, Azure Spring Apps SSS'ye 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ü Destek sonu
3.2.x 2023.0.x, Leyton olarak da bilinir 2024-11-23
3.1.x Kilburn olarak da bilinen 2022.0.3+ 18.05.2024
3.0.x Kilburn olarak da bilinen 2022.0.3+ 2023-11-24
2.7.x Jubilee olarak da bilinen 2021.0.3+ 2023-11-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 notasyonu

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

Dağıtılmış yapılandırmayı etkinleştirmek için, pom.xmlspring-cloud-config-clientbağımlılıklar bölümüne aşağıdaki bağımlılığı ekleyin:

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

Uyarı

Bootstrap yapılandırmanızda spring.cloud.config.enabled=false belirtmeyin. Aksi takdirde, uygulamanız Yapılandırma Sunucusu ile çalışmayı durdurur.

Ö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. Bir Yapılandırma Sunucusu örneğinin nasıl ayarlanacağını öğrenmek için Yapılandırma Sunucusu örneği ayarlama bölümüne bakın.

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