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ı EurekaDataProvider
planet-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:
- Java, Spring Boot ve daha fazlası için sürüm desteği
- Spring Boot desteği
- Spring Cloud Config desteği
- Spring Cloud Netflix desteği
- Mevcut bir Spring Boot uygulamasına Spring Cloud ekleme
Azure Spring Apps özelliklerini etkinleştirmek için önerilen diğer bağımlılıklar
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:
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.
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.
- Uygulama günlüklerini ve ölçümlerini analiz etme
- Yapılandırma Sunucunuzu ayarlama
- Spring Hızlı Başlangıç Kılavuzu
- Spring Boot belgeleri
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.