Share via


Spring Cloud uygulamalarını Azure Spring Apps'e geçirme

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 kılavuzda, mevcut bir Spring Cloud uygulamasını Azure Spring Apps'te çalışacak şekilde geçirmek istediğinizde dikkat etmeniz gerekenler açıklanmaktadır.

Geçiş öncesi

Geçişin başarılı olduğundan emin olmak için, başlamadan önce aşağıdaki bölümlerde açıklanan değerlendirme ve envanter adımlarını tamamlayın.

Bu geçiş öncesi gereksinimlerin hiçbirini karşılayamazsanız aşağıdaki yardımcı geçiş kılavuzlarını inceleyin:

  • Yürütülebilir JAR uygulamalarını Azure Kubernetes Service’teki kapsayıcılara geçirme (kılavuz planlı)
  • Yürütülebilir JAR Uygulamalarını Azure Sanal Makineler’e geçirme (kılavuz planlı)

Uygulama bileşenlerini inceleme

Dosya sisteminin kullanılıp kullanılmayacağını ve nasıl kullanıldığını belirleme

Hizmetlerinizin yerel dosya sistemine yazdığı ve/veya yerel dosya sisteminden okuduğu örnekleri bulun. Kısa süreli/geçici dosyaların yazıldığı ve okunduğu ve uzun ömürlü dosyaların nerede yazılıp okunduğu belirleyin.

Not

Azure Spring Apps, Azure Spring Apps örneği başına 5 GB geçici depolama alanı sağlar ve içinde /tmpbağlanır. Geçici dosyalar bu sınırı aşan veya farklı bir konuma yazılırsa kod değişiklikleri gerekir.

Salt okunur statik içerik

Uygulamanız şu anda statik içerik sunuyorsa bunun için alternatif bir konumunuz olması gerekir. Statik içeriği Azure Blob Depolama’ya taşımayı ve küresel olarak ışık hızında indirme işlemleri için Azure CDN eklemeyi düşünebilirsiniz. Daha fazla bilgi için bkz. Azure Depolama'de statik web sitesi barındırma ve Hızlı Başlangıç: Azure depolama hesabını Azure CDN ile tümleştirme.

Dinamik olarak yayımlanan statik içerik

Uygulamanız tarafından karşıya yüklenen/üretilen ama oluşturulduktan sonra sabit hale gelen statik içeriğe uygulamanızda izin veriliyorsa, karşıya yüklemeleri ve CDN yenilemesini işlemek için Azure İşlevi’yle birlikte yukarıda açıklandığı gibi Azure Blob Depolama ve Azure CDN kullanabilirsiniz. Azure İşlevleri ile statik içeriği karşıya yükleme ve CDN’ye önceden yükleme başlığı altında kullanımınıza ilişkin örnek bir uygulama sağladık.

Hizmetlerden herhangi birinin işletim sistemine özgü kod içerip içermediğini belirleme

Uygulamanız konak işletim sisteminde bağımlılıkları olan kod içeriyorsa, bunu yeniden düzenleyip söz konusu bağımlılıkları kaldırmanız gerekir. Örneğin dosya sistemi yollarındaki / veya \ kullanımlarını File.Separator veya Paths.get ile değiştirmeniz gerekebilir.

Desteklenen platforma geçme

Azure Spring Apps, Java'nın belirli sürümlerini ve Spring Boot ile Spring Cloud'un belirli sürümlerini sunar. Uyumluluğu sağlamak için önce uygulamanızı geçerli ortamında desteklenen Java sürümlerinden birine geçirin, ardından kalan geçiş adımlarıyla devam edin. Sonuçta elde edilen yapılandırmayı tümüyle test edin. Bu tür testlerde Linux dağıtımınızın en son kararlı sürümünü kullanın.

Not

Geçerli sunucunuz desteklenmeyen bir JDK (Oracle JDK veya IBM OpenJ9 gibi) çalıştırıyorsa bu doğrulama özellikle önemlidir.

Geçerli Java sürümünüzü öğrenmek için üretim sunucunuzda oturum açın ve şu komutu çalıştırın:

java -version

Java, Spring Boot ve Spring Cloud'un desteklenen sürümlerinin yanı sıra güncelleştirme yönergeleri için bkz . Azure Spring Apps'te dağıtım için bir uygulama hazırlama.

Spring Boot sürümlerini tanımlama

Spring Boot sürümünü belirlemek için geçirilen her uygulamanın bağımlılıklarını inceleyin.

Maven

Maven projelerinde Spring Boot sürümü genellikle POM dosyasının öğesinde <parent> bulunur:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Gradle

Gradle projelerinde Spring Boot sürümü genellikle eklentinin org.springframework.boot sürümü olarak bölümünde bulunurplugins:

plugins {
  id 'org.springframework.boot' version '2.7.10'
  id 'io.spring.dependency-management' version '1.0.15.RELEASE'
  id 'java'
}

Spring Boot 1.x kullanan tüm uygulamalar için Spring Boot 2.0 geçiş kılavuzunu izleyerek bunları desteklenen bir Spring Boot sürümüne güncelleştirin. Desteklenen sürümler için, Azure Spring Apps'te bir uygulamayı dağıtıma hazırlama bölümünün Spring Boot ve Spring Cloud sürümleri bölümüne bakın.

Spring Cloud sürümlerini tanımlama

Kullandığı Spring Cloud bileşenlerinin sürümünü belirlemek için geçiş yaptığınız her uygulamanın bağımlılıklarını inceleyin.

Maven

Maven projelerinde Spring Cloud sürümü genellikle şu özellikte spring-cloud.version ayarlanır:

  <properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>2021.0.6</spring-cloud.version>
  </properties>
Gradle

Gradle projelerinde Spring Cloud sürümü genellikle "ek özellikler" bloğunda ayarlanır:

ext {
  set('springCloudVersion', "2021.0.6")
}

Spring Cloud'un desteklenen sürümlerini kullanmak için tüm uygulamaları güncelleştirmeniz gerekir. Desteklenen sürümlerin listesi için Azure Spring Apps'te bir uygulamayı dağıtıma hazırlama bölümünün Spring Boot ve Spring Cloud sürümleri bölümüne bakın.

Günlük toplama çözümlerini tanımlama

Geçirmekte olduğunuz uygulamalar tarafından kullanılan tüm günlük toplama çözümlerini belirleyin. Günlüğe kaydedilen olayları kullanıma hazır hale getirmek için geçişte tanılama ayarlarını yapılandırmanız gerekir. Daha fazla bilgi için Konsol günlüğünün günlüğe kaydedilmesini sağlama ve tanılama ayarlarını yapılandırma bölümüne bakın.

Uygulama performans yönetimi (APM) aracılarını tanımlama

Uygulamalarınızla birlikte kullanılan tüm uygulama performansı izleme aracılarını belirleyin. Azure Spring Apps, Application Analizler, New Relic, Elastic APM, Dynatrace ve AppDynamics ile tümleştirmeyi destekler. Uygulama desteklenen bir APM kullanıyorsa, geçişte tümleştirmeyi yapılandırın. Uygulama desteklenen bir APM kullanmıyorsa bunun yerine Application Analizler kullanmayı göz önünde bulundurun. Daha fazla bilgi için Geçiş bölümüne bakın.

Zipkin bağımlılıklarını tanımlama

Uygulamanızın Zipkin'e bağımlılıkları olup olmadığını belirleyin. Bunun yerine uygulamayı Application Analizler kullanacak şekilde güncelleştirin. Daha fazla bilgi için Bkz. Azure Spring Apps'te Uygulama Analizler Java İşlem İçi Aracısı'nı kullanma ve Geçiş sonrası bölümü.

Dış kaynakların envanterini çıkarma

Veri kaynakları, JMS ileti aracıları ve diğer hizmetlerin URL’leri gibi dış kaynakları tanımlayın. Spring Cloud uygulamalarında, bu tür kaynakların yapılandırmasını genellikle aşağıdaki konumlardan birinde bulabilirsiniz:

  • src/main/directory klasöründe, genellikle application.properties veya application.yml olarak adlandırılan bir dosyada.
  • Önceki adımda tanımladığınız Spring Cloud Config deposunda.

Veritabanları

Tüm SQL veritabanları için bağlantı dizesini tanımlayın.

Spring Boot uygulaması için bağlantı dizeleri normalde yapılandırma dosyalarında görüntülenir.

Burada application.properties dosyasından bir örnek yer alır:

spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Burada application.yaml dosyasından bir örnek yer alır:

spring:
  data:
    mongodb:
      uri: mongodb://mongouser:deepsecret@mongoserver.contoso.com:27017

Daha olası yapılandırma senaryoları için Spring Data belgelerine bakın:

JMS ileti aracıları

İlgili bağımlılıklar için derleme bildirimine (genellikle bir pom.xml veya build.gradle dosyası) bakarak kullanılan aracıyı veya aracıları tanımlayın.

Örneğin, ActiveMQ kullanan bir Spring Boot uygulaması genellikle pom.xml dosyasında bu bağımlılığı içerir:

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

Ticari aracıları kullanan Spring Boot uygulamaları genellikle doğrudan aracıların JMS sürücü kitaplıklarına bağımlılıklar içerir. Burada build.gradle dosyasından bir örnek yer alır:

    dependencies {
      ...
      compile("com.ibm.mq:com.ibm.mq.allclient:9.0.4.0")
      ...
    }

Kullanılan aracıyı veya aracıları belirledikten sonra ilgili ayarları bulun. Spring Cloud uygulamalarında, bunları genellikle application.properties ve application.yml dosyalarında uygulama dizininde veya Spring Cloud Config sunucu deposunda bulabilirsiniz.

Aşağıda application.properties dosyasından bir ActiveMQ örneği verilmiştir :

spring.activemq.brokerurl=broker:(tcp://localhost:61616,network:static:tcp://remotehost:61616)?persistent=false&useJmx=true
spring.activemq.user=admin
spring.activemq.password=tryandguess

ActiveMQ yapılandırması hakkında daha fazla bilgi için Spring Boot mesajlaşma belgelerine bakın.

Aşağıda application.yaml dosyasından bir IBM MQ örneği verilmişti:

ibm:
  mq:
    queueManager: qm1
    channel: dev.ORDERS
    connName: localhost(14)
    user: admin
    password: big$ecr3t

IBM MQ yapılandırması hakkında daha fazla bilgi için IBM MQ Spring bileşenleri belgelerine bakın.

Dış önbellekleri tanımlama

Kullanılan tüm dış önbellekleri tanımlayın. Redis sıklıkla Spring Data Redis aracılığıyla kullanılır. Yapılandırma bilgileri için Spring Data Redis belgelerine bakın.

İlgili yapılandırmayı (Java veya XML'de) arayarak oturum verilerinin Spring Session aracılığıyla önbelleğe alınıp alınmadığını belirleyin.

Kimlik sağlayıcıları

Kimlik doğrulaması ve/veya yetkilendirme gerektiren tüm kimlik sağlayıcılarını ve tüm Spring Cloud uygulamalarını belirleyin. Kimlik sağlayıcılarını nasıl yapılandırabileceğiniz hakkında bilgi için aşağıdaki kaynaklara bakın:

  • OAuth2 yapılandırması için Spring Cloud Security hızlı başlangıcına bakın.
  • Auth0 Spring Security yapılandırması için Auth0 Spring Security belgelerine bakın.
  • PingFederate Spring Security yapılandırması için Auth0 PingFederate yönergelerine bakın.

VMware Tanzu Uygulama Hizmeti (TAS) (eski adıyla Pivotal Cloud Foundry) aracılığıyla yapılandırılan kaynaklar

TAS ile yönetilen uygulamalar için, daha önce açıklanan kaynaklar da dahil olmak üzere dış kaynaklar genellikle TAS hizmet bağlamaları aracılığıyla yapılandırılır. Bu tür kaynakların yapılandırmasını incelemek için TAS (Cloud Foundry) CLI'sini kullanarak uygulamanın değişkenini VCAP_SERVICES görüntüleyin.

# Log into TAS, if needed (enter credentials when prompted)
cf login -a <API endpoint>

# Set the organization and space containing the application, if not already selected during login.
cf target org <organization name>
cf target space <space name>

# Display variables for the application
cf env <Application Name>

VCAP_SERVICES Uygulamaya bağlı dış hizmetlerin yapılandırma ayarları için değişkenini inceleyin. Daha fazla bilgi için TAS (Cloud Foundry) belgelerine bakın.

Diğer tüm dış kaynaklar

Bu kılavuzda olası tüm dış bağımlılıkları belgeleme uygun değildir. Geçiş sonrasında, uygulamanızın tüm dış bağımlılıklarını karşılayabileceğinizi doğrulamak sizin sorumluluğunuzdadır.

Envanter yapılandırma kaynakları ve gizli diziler

Parolaları ve güvenli dizeleri envantere al

Üretim dağıtımlarındaki tüm özellikleri, yapılandırma dosyalarını ve tüm ortam değişkenlerini gizli dizeler ve parolalar için denetleyin. Spring Cloud uygulamasında bu tür dizeleri genellikle tek tek hizmetlerdeki veya Spring Cloud Config deposundaki application.properties veya application.yml dosyasında bulabilirsiniz.

Sertifikaların envanterini çıkarma

Genel SSL uç noktaları için veya arka uç veritabanları ve diğer sistemlerle iletişim için kullanılan tüm sertifikaları belgeleyin. Aşağıdaki komutu çalıştırarak üretim sunucularındaki tüm sertifikaları görüntüleyebilirsiniz:

keytool -list -v -keystore <path to keystore>

Spring Cloud Vault'un kullanılıp kullanılmadığını belirleme

Gizli dizileri depolamak ve erişmek için Spring Cloud Vault kullanıyorsanız, gizli dizi depoyu (örneğin, HashiCorp Vault veya CredHub) tanımlayın. Ardından uygulama kodu tarafından kullanılan tüm gizli dizileri belirleyin.

Yapılandırma sunucusu kaynağını bulma

Uygulamanız bir Spring Cloud Config sunucusu kullanıyorsa yapılandırmanın nerede depolandığını belirleyin. Bu ayarı genellikle bootstrap.yml veya bootstrap.properties dosyasında ya da bazen application.yml veya application.properties dosyasında bulabilirsiniz. Ayar aşağıdaki örneğe benzer olacaktır:

spring.cloud.config.server.git.uri: file://${user.home}/spring-cloud-config-repo

Git en yaygın olarak Spring Cloud Config'in yedekleme veri deposu olarak kullanılsa da, daha önce gösterildiği gibi diğer olası arka uçlardan biri kullanımda olabilir. İlişkisel Veritabanı (JDBC), SVN ve yerel dosya sistemi gibi diğer arka uçlar hakkında bilgi için Spring Cloud Config belgelerine bakın.

Not

Yapılandırma sunucusu verileriniz GitHub Enterprise gibi şirket içinde depolanıyorsa, bunu Git deposu aracılığıyla Azure Spring Apps'in kullanımına sunmalısınız.

Dağıtım mimarisini inceleme

Her hizmet için belge donanım gereksinimleri

Spring Cloud hizmetlerinizin her biri için (yapılandırma sunucusu, kayıt defteri veya ağ geçidi dahil değildir), aşağıdaki bilgileri belgeleyin:

  • Çalışan örnek sayısı.
  • Her örneğe ayrılan CPU sayısı.
  • Her örneğe ayrılan RAM miktarı.

Belge coğrafi çoğaltma/dağıtım

Spring Cloud uygulamalarının şu anda birkaç bölge veya veri merkezi arasında dağıtılıp dağıtılmadığını belirleyin. Geçirmekte olduğunuz uygulamaların çalışma süresi gereksinimlerini/SLA'sını belgeleyin.

Hizmet kayıt defterini atlayan istemcileri belirleme

Spring Cloud Service Kayıt Defteri'ni kullanmadan geçirilecek hizmetlerden herhangi birini çağıran tüm istemci uygulamalarını belirleyin. Geçiş sonrasında bu tür çağrılar artık mümkün olmayacaktır. Geçiş öncesinde Spring Cloud OpenFeign kullanmak için bu istemcileri güncelleştirin.

Geçiş

Kısıtlanmış yapılandırmaları kaldırma

Geçirmekte olduğunuz hizmetlerde, aşağıdaki kısıtlı ayarların açık atamalarını bulun ve kaldırın. Bu özellikler, Yapılandırma Sunucusu ve Hizmet Bulma'ya erişmek için uygulama ortamınıza otomatik olarak eklenir. Bu özellikler Yapılandırma Sunucusu uygulama dosyalarınızdaysa çakışmalar ve beklenmeyen davranışlarla karşılaşabilirsiniz. Daha fazla bilgi için Azure Spring Apps'te yönetilen Spring Cloud Config Server yapılandırma bölümünün Kısıtlama bölümüne bakın

  • eureka.client.service-url.defaultZone
  • eureka.client.tls.keystore
  • eureka.instance.preferIpAddress
  • eureka.instance.instance-id
  • server.port
  • spring.cloud.config.tls.keystore
  • spring.config.import
  • spring.application.name
  • spring.jmx.enabled
  • management.endpoints.jmx.exposure.include

Azure Spring Apps örneği ve uygulamaları oluşturma

Azure aboneliğinizde bir Azure Spring Apps örneği sağlayın. Ardından, geçirmekte olduğunuz her hizmet için bir uygulama sağlayın. Spring Cloud kayıt defteri ve yapılandırma sunucularını eklemeyin. Spring Cloud Gateway hizmetini dahil edin. Yönergeler için bkz . Hızlı Başlangıç: İlk uygulamanızı Azure Spring Apps'e dağıtma.

Spring Cloud Config sunucusunu hazırlama

Azure Spring Apps örneğinizde yapılandırma sunucusunu yapılandırın. Daha fazla bilgi için bkz . Hizmetiniz için Spring Cloud Config Server örneği ayarlama.

Not

Geçerli Spring Cloud Config deponuz yerel dosya sisteminde veya şirket içindeyse, önce yapılandırma dosyalarınızı GitHub, Azure Repos veya BitBucket gibi özel bir bulut tabanlı depoya geçirmeniz veya çoğaltmanız gerekir.

Konsol günlüğünün günlüğe kaydedilmesini sağlama ve tanılama ayarlarını yapılandırma

Günlük kaydınızı, tüm çıkışın dosyalara değil konsola yönlendirecek şekilde yapılandırın.

Bir uygulama Azure Spring Apps'e dağıtıldıktan sonra, günlüğe kaydedilen olayları tüketim için kullanılabilir hale getirmek için bir tanılama ayarı ekleyin( örneğin Azure İzleyici Log Analytics aracılığıyla).

LogStash/ELK Yığını

Günlük toplama için LogStash/ELK Stack kullanıyorsanız, tanılama ayarını konsol çıkışını bir Azure Olay Hub'ına akışla aktaracak şekilde yapılandırın. Ardından LogStash EventHub eklentisini kullanarak günlüğe kaydedilen olayları LogStash'e alın.

Splunk

Günlük toplama için Splunk kullanıyorsanız, konsol çıkışını Azure Blob Depolama akışla aktarmak için tanılama ayarını yapılandırın. Ardından, günlüğe kaydedilen olayları Splunk'a almak için Microsoft Cloud Services için Splunk Eklentisini kullanın.

Kalıcı depolamayı yapılandırma

Uygulamanızın herhangi bir bölümü yerel dosya sistemini okur veya yazarsa, yerel dosya sistemini değiştirmek için kalıcı depolama yapılandırmanız gerekir. Daha fazla bilgi için bkz . Azure Spring Apps'te yerleşik kalıcı depolamayı kullanma.

Dizine /tmp geçici dosyalar yazmanız gerekir. İşletim sistemi bağımsızlığı için kullanarak bu dizini System.getProperty("java.io.tmpdir")alabilirsiniz. Geçici dosyalar oluşturmak için de kullanabilirsiniz java.nio.Files::createTempFile .

VMware Tanzu bileşenleri

Kurumsal katmanda, uygulamalarınız için harici yapılandırmayı desteklemek üzere VMware Tanzu® için Uygulama Yapılandırma Hizmeti sağlanır. Yönetilen Spring Cloud Config Server, Kurumsal katmanda kullanılamaz ve yalnızca Azure Spring Apps'in Standart ve Temel katmanında kullanılabilir.

Tanzu için Uygulama Yapılandırma Hizmeti

Tanzu için Uygulama Yapılandırma Hizmeti, ticari VMware Tanzu bileşenlerinden biridir. 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 katmanda 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>
    

Tanzu için Uygulama Yapılandırma Hizmeti Kubernetes üzerinde çalışır. Saydam bir yerel geliştirme deneyimini etkinleştirmeye yardımcı olmak için aşağıdaki önerileri sunuyoruz.

  • Harici yapılandırmanızı depolamak için zaten bir Git deponuz varsa Spring Cloud Config Server'ı uygulamanızın merkezi yapılandırması olarak yerel olarak ayarlayabilirsiniz. Yapılandırma Sunucusu başlatıldıktan sonra Git deposunu klonlar ve depo içeriğini web denetleyicisi aracılığıyla sağlar. Daha fazla bilgi için Spring belgelerindeki Spring Cloud Config bölümüne bakın. , spring-cloud-config-client uygulamanızın yapılandırma sunucusundan dış yapılandırmayı otomatik olarak almasını sağlar.

  • Git deponuz yoksa veya Yapılandırma Sunucusu'nu yerel olarak ayarlamak istemiyorsanız, yapılandırma dosyasını doğrudan projenizde kullanabilirsiniz. Yapılandırma dosyasını yalnızca geliştirme ortamınızda kullanılacak şekilde yalıtmak için bir profil kullanmanızı öneririz. Örneğin, profil olarak kullanın dev . Ardından, yapılandırmayı depolamak için src/main/resource klasöründe bir application-dev.yml dosyası oluşturabilirsiniz. Uygulamanızın bu yapılandırmayı kullanmasını sağlamak için ile uygulamayı yerel olarak --spring.profiles.active=devbaşlatın.

Tanzu Service Registry

VMware Tanzu® Service Registry , ticari VMware Tanzu bileşenlerinden biridir. Tanzu Service Registry, Kurumsal katman uygulamalarınıza mikro hizmet tabanlı mimarinin temel ilkelerinden biri olan Service Discovery düzeninin bir uygulamasını sağlar. Uygulamalarınız kayıtlı hizmetleri dinamik olarak bulmak ve çağırmak için Tanzu Service Registry'yi kullanabilir. Tanzu Service Registry'yi kullanmak, bir hizmetin her istemcisini el ile yapılandırmayı tercih eder. Bu işlem zor olabilir veya üretimde kırılgan olabilecek bir tür erişim kuralı benimsenebilir. Daha fazla bilgi için bkz . Tanzu Service Registry'yi kullanma.

Spring Cloud Vault gizli dizilerini Azure KeyVault'a geçirme

Azure KeyVault Spring Boot Starter kullanarak Spring aracılığıyla uygulamalara doğrudan gizli diziler ekleyebilirsiniz. Daha fazla bilgi için bkz . Azure Key Vault için Spring Boot Starter'ı kullanma.

Not

Geçiş için bazı gizli dizileri yeniden adlandırmanız gerekebilir. Uygulama kodunuzu uygun şekilde güncelleştirin.

Tüm sertifikaları KeyVault'a geçirme

Azure Spring Apps JRE anahtar deposuna erişim sağlamaz, bu nedenle sertifikaları Azure KeyVault'a geçirmeniz ve uygulama kodunu KeyVault'taki sertifikalara erişecek şekilde değiştirmeniz gerekir. Daha fazla bilgi için bkz. Java için Key Vault sertifikalarını ve Azure Key Vault Sertifikası istemci kitaplığını kullanmaya başlama.

Uygulama performansı yönetimi (APM) tümleştirmelerini yapılandırma

Azure Spring Apps aşağıdaki APM tümleştirmelerini sunar. İhtiyacınız olan APM'yi etkinleştirmek için bağlantıları izleyin:

Uygulamanız desteklenen bir APM kullanmıyorsa bunun yerine Application Analizler kullanmayı göz önünde bulundurun. Azure Spring Apps, performans yönetimi ve sapmalara gerçek zamanlı yanıt için Application Analizler ile derin tümleştirme sunar.

Uygulamalarınızda ölçüm istemcilerini ve uç noktalarını devre dışı bırakma

Kullanılan ölçüm istemcilerini veya uygulamalarınızda kullanıma sunulan ölçüm uç noktalarını kaldırın.

Hizmetleri dağıtma

Hızlı Başlangıç: İlk uygulamanızı Azure Spring Apps'e dağıtma başlığı altında açıklandığı gibi geçirilen Spring uygulamalarının her birini (Spring Cloud Config ve Registry sunucuları dahil değil) dağıtın.

Hizmet başına gizli dizileri ve dışlanmış ayarları yapılandırma

Her hizmete hizmet başına yapılandırma ayarlarını ortam değişkeni olarak ekleyebilirsiniz. Azure portalında aşağıdaki adımları kullanın:

  1. Azure Spring Apps Örneğine gidin ve Uygulamalar'ı seçin.
  2. Yapılandırılan hizmeti seçin.
  3. Yapılandırma'yı seçin.
  4. Yapılandıracak değişkenleri girin.
  5. Kaydet'i seçin.

Spring Cloud App Configuration Settings

Kimlik sağlayıcısını geçirme ve etkinleştirme

Spring Cloud uygulamalarından herhangi biri kimlik doğrulaması veya yetkilendirme gerektiriyorsa kimlik sağlayıcısına erişecek şekilde yapılandırıldığından emin olun:

  • Kimlik sağlayıcısı Microsoft Entra Id ise hiçbir değişiklik yapılması gerekmez.
  • Kimlik sağlayıcısı şirket içi Active Directory bir ormansa, Microsoft Entra Id ile bir karma kimlik çözümü uygulamayı göz önünde bulundurun. Yönergeler için Karma kimlik belgelerine bakın.
  • Kimlik sağlayıcısı PingFederate gibi başka bir şirket içi çözümse, Microsoft Entra Kimliği ile federasyon yapılandırmak için Microsoft Entra Bağlan özel yükleme konusuna başvurun. Alternatif olarak, OAuth2/OpenID Bağlan veya SAML aracılığıyla kimlik sağlayıcınızı kullanmak için Spring Security kullanmayı göz önünde bulundurun.

İstemci uygulamalarını güncelleştirme

Geçirilen uygulamalar için yayımlanan Azure Spring Apps uç noktalarını kullanacak şekilde tüm istemci uygulamalarının yapılandırmasını güncelleştirin.

Geçiş sonrası

  • Otomatik, tutarlı dağıtımlar için bir dağıtım işlem hattı eklemeyi göz önünde bulundurun. Azure Pipelines, GitHub Actions ve Jenkins için yönergeler sağlanır.

  • Kod değişikliklerini son kullanıcılarınızın bir kısmı veya tamamına sunulmadan önce test etmek için hazırlama dağıtımlarını kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Azure Spring Apps'te hazırlama ortamı ayarlama.

  • Uygulamanızı desteklenen Azure veritabanlarına bağlamak için hizmet bağlamaları eklemeyi göz önünde bulundurun. Bu hizmet bağlamaları, Spring Cloud uygulamalarınıza kimlik bilgileri de dahil olmak üzere bağlantı bilgileri sağlama gereksinimini ortadan kaldırır.

  • Uygulamalarınızın performansını ve etkileşimlerini izlemek için Azure Uygulaması Analizler kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Spring Apps'te Uygulama Analizler Java İşlem İçi Aracısı.

  • Sapkıcı koşulları hızla algılamak ve ele almak için Azure İzleyici uyarı kuralları ve eylem grupları eklemeyi göz önünde bulundurun. Daha fazla bilgi için bkz . Öğretici: Uyarıları ve eylem gruplarını kullanarak Spring Cloud kaynaklarını izleme.

  • Daha düşük gecikme süresi ve daha yüksek güvenilirlik ve hataya dayanıklılık için Azure Spring Apps dağıtımını başka bir bölgede çoğaltmayı göz önünde bulundurun. Dağıtımlar arasında yük dengelemesi yapmak için Azure Traffic Manager'ı kullanın veya Azure Front Door kullanarak SSL boşaltma ve DDoS korumasıyla Web Uygulaması Güvenlik Duvarı ekleyin.

  • Coğrafi çoğaltma gerekli değilse, DDoS korumasıyla SSL boşaltma ve Web Uygulaması Güvenlik Duvarı eklemek için bir Azure Uygulaması Lication Gateway eklemeyi göz önünde bulundurun.

  • Uygulamalarınız eski Spring Cloud Netflix bileşenlerini kullanıyorsa bunları geçerli alternatiflerle değiştirmeyi göz önünde bulundurun:

    Eski Geçerli
    Spring Cloud Eureka Spring Cloud Service Kayıt Defteri
    Spring Cloud Netflix Zuul Spring Cloud Gateway
    Spring Cloud Netflix Archaius Spring Cloud Config Server
    Spring Cloud Netflix Şeridi Spring Cloud Load Balancer (istemci tarafı yük dengeleyici)
    Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J
    Spring Cloud Netflix Türbini Mikrometre + Prometheus