Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuzda, mevcut bir Spring Cloud uygulamasını Azure Container Apps üzerinde ç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 üzerindeki kapsayıcılara geçirme (kılavuz planlandı)
- Yürütülebilir JAR Uygulamalarını Azure Virtual Machines geçirme (kılavuz planlandı)
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.
Azure Container Apps çeşitli depolama türleri sunar. Geçici depolama, geçici verileri okuyup yazabilir ve çalışan bir kapsayıcı veya replik için kullanılabilir. Azure Dosyası kalıcı depolama sağlar ve birden çok kapsayıcı arasında paylaşılabilir. Daha fazla bilgi için bkz. Azure Container Apps depolama bağlamalarını kullanma.
Yalnızca okunabilir statik içerik
Uygulamanız şu anda statik içerik yüklüyse, bunun için alternatif bir konuma ihtiyacınız vardır. Statik içeriği Azure Blob Storage taşımayı ve küresel olarak yıldırım hızında indirmeler için Azure CDN eklemeyi düşünebilirsiniz. Daha fazla bilgi için bkz. Static web sitesi barındırma Azure Storage ve Quickstart: Azure storage hesabını Azure CDN ile tümleştirme.
Dinamik olarak yayımlanan statik içerik
Uygulamanız, uygulamanın kendisi tarafından karşıya yüklenen veya oluşturulan ve oluşturulduktan sonra değişmeyen statik içeriği destekliyorsa, Azure Blob Storage ve Azure CDN tümleştirebilirsiniz. Gerektiğinde karşıya yüklemeleri yönetmek ve CDN yenilemelerini tetiklemek için bir Azure İşlevi de kullanabilirsiniz. Azure Functions ile
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 herhangi bir kod içeriyorsa, bu bağımlılıkları kaldırmak için yeniden düzenlemeniz gerekir. Örneğin, dosya sistemi yollarında / veya \ kullanımını, uygulamanız Windows üzerinde çalışıyorsa File.Separator veya Paths.get ile değiştirmeniz gerekebilir.
Desteklenen platforma geçme
Dockerfile'ınızı el ile oluşturur ve kapsayıcılı uygulamayı Azure Container Apps dağıtırsanız JRE/JDK sürümleri de dahil olmak üzere dağıtımınız üzerinde tam denetime sahip olursunuz.
Yapıtlardan dağıtım için Azure Container Apps ayrıca Java (8, 11, 17 ve 21) ve Spring Boot ve Spring Cloud bileşenlerinin belirli sürümlerini de sunar. Uyumluluğu sağlamak için önce uygulamanızı geçerli ortamındaki 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ü edinmek için üretim sunucunuzda oturum açın ve aşağıdaki 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 Azure Container Apps genel bakış
Spring Boot sürümlerini tanımlama
Taşınan her uygulamanın Spring Boot sürümünü belirlemek için 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>3.3.3</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 '3.3.3'
id 'io.spring.dependency-management' version '1.1.6'
id 'java'
}
3.x öncesi Spring Boot sürümlerini kullanan tüm uygulamalar için Spring Boot 2.0 geçiş kılavuzunu veya Spring Boot 3.0 Geçiş Kılavuzu'nu izleyerek bunları desteklenen bir Spring Boot sürümüne güncelleştirin. Desteklenen sürümler için Spring Cloud belgelerine 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>
<spring-cloud.version>2023.0.2</spring-cloud.version>
</properties>
Gradle
Gradle projelerinde Spring Cloud sürümü genellikle "ek özellikler" bloğunda ayarlanır:
ext {
set('springCloudVersion', "2023.0.2")
}
Spring Cloud'un desteklenen sürümlerini kullanmak için tüm uygulamaları güncelleştirmeniz gerekir. Desteklenen sürümler için Spring Cloud belgelerine bakın.
Günlük toplama çözümlerini tanımlama
Taşımakta olduğunuz uygulamalar tarafından kullanılan herhangi bir günlük toplama çözümünü belirleyin. Geçiş sırasında günlüğe kaydedilen olayları kullanıma hazır hale getirmek için 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ız tarafından kullanılan tüm uygulama performansı yönetim aracılarını belirleyin. Azure Kapsayıcılar Uygulamaları, APM tümleştirmesi için yerleşik destek sunmaz. Kapsayıcı görüntünüzü hazırlamanız veya APM aracını doğrudan kodunuzla tümleştirmeniz gerekir. Uygulamanızın performansını ölçmek istiyorsanız ancak henüz herhangi bir APM'yi tümleştirmediyseniz Azure Application Insights'ı kullanmayı göz önünde bulundurun. Daha fazla bilgi için Geçiş bölümüne bakın.
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/resources 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 Server deposunda.
Veritabanları
Spring Boot uygulaması için, bağlantı dizesi genellikle bir dış veritabanına bağlı olduğunda yapılandırma dosyalarında görünür. Aşağıda application.properties dosyasından bir örnek verilmişti:
spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Aşağıda application.yaml dosyasından bir örnek verilmişti:
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 birpom.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. Build.gradle dosyasından bir örnek:
dependencies {
...
compile("com.ibm.mq:com.ibm.mq.allclient:9.4.0.5")
...
}
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 Server deposunda bulabilirsiniz.
Not
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışının kullanılmasını önerir. Veritabanları, önbellekler, mesajlaşma veya yapay zeka hizmetleri gibi bu yordamda açıklanan kimlik doğrulama akışı, uygulamaya çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskler taşır. Bu akışı yalnızca parolasız veya anahtarsız bağlantılar için yönetilen kimlikler gibi daha güvenli seçenekler uygun olmadığında kullanın. Yerel makine işlemleri için parolasız veya anahtarsız bağlantılar için kullanıcı kimliklerini tercih edin.
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=<password>
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: <password>
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) 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 bilgiler
Parolaları ve güvenli dizeleri envantere al
Tüm gizli dizeler ve parolalar için üretim dağıtımlarında tüm özellikleri, yapılandırma dosyalarını ve tüm ortam değişkenlerini denetleyin. Spring Cloud uygulamasında bu tür dizeleri genellikle tek tek hizmetlerdeki veya Spring Cloud Config Server deposundaki application.properties veya application.yml dosyasında bulabilirsiniz.
Envanter sertifikaları
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 bilgileri depolamak ve erişmek için Spring Cloud Vault kullanıyorsanız, HashiCorp Vault veya CredHub gibi destekleyen gizli bilgi deposunu tanımlayın. Ardından uygulama kodu tarafından kullanılan tüm gizli bilgiler belirleyin.
Yapılandırma sunucusu kaynağını bulma
Uygulamanız Spring Cloud Config Server 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:
spring.cloud.config.server.git.uri: file://${user.home}/spring-cloud-config-repo
Git en yaygın olarak Spring Cloud Config Server'ın 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 Server belgelerine bakın.
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ışmakta olan ö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
Azure Container Apps ortamı yönetilen Eureka Server, Spring Cloud Config Server ve Admin sunar. Bir uygulama Java bileşenine bağlı olduğunda, Azure Container Apps ilgili özellikleri sistem ortamı değişkenleri olarak ekler. Spring Boot Dışlaştırılmış Yapılandırma tasarımına göre, kodunuzda tanımlanan veya yapıtlar içinde paketlenmiş uygulama özelliklerinin üzerine sistem ortamı değişkenleri tarafından yazılır.
Komut satırı bağımsız değişkeni, Java sistem özelliği veya kapsayıcının ortam değişkeni aracılığıyla aşağıdaki özelliklerden birini ayarlarsanız, çakışmaları ve beklenmeyen davranışları önlemek için bu özelliği kaldırmanız gerekir:
SPRING_CLOUD_CONFIG_COMPONENT_URISPRING_CLOUD_CONFIG_URISPRING_CONFIG_IMPORTeureka.client.fetch-registryeureka.client.service-url.defaultZoneeureka.instance.prefer-ip-addresseureka.client.register-with-eurekaSPRING_BOOT_ADMIN_CLIENT_INSTANCE_PREFER-IPSPRING_BOOT_ADMIN_CLIENT_URL
Azure Container Apps yönetilen ortam ve uygulamalar oluşturma
Mevcut yönetilen bir ortamda Azure aboneliğinizde bir Azure Container Apps uygulaması sağlayın veya geçirmekte olduğunuz her hizmet için yeni bir uygulama oluşturun. Spring Cloud kayıt defteri ve Yapılandırma sunucuları olarak çalışan uygulamalar oluşturmanız gerekmez. Daha fazla bilgi için bkz. Quickstart: Azure portalını kullanarak ilk kapsayıcı uygulamanızı dağıtma.
Spring Cloud Config Sunucusu'nu hazırlama
Spring bileşeni için Azure Container Apps yapılandırma sunucusunu yapılandırın. Daha fazla bilgi için bkz. Azure Container Apps'da Spring için Yapılandırma Sunucusu bileşeninin ayarlarını yapılandırma.
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 bulut tabanlı bir depoya geçirmeniz veya çoğaltmanız gerekir.
Konsol günlüğünü etkinleştirme ve tanılama ayarlarını yapılandırma
Tüm çıkışın dosyalar yerine konsola yönlendirildiğinden emin olmak için günlük kaydınızı yapılandırın.
Bir uygulama Azure Container Apps dağıtıldıktan sonra, Günlüklerin bir veya daha fazla hedefini tanımlamak için Container Apps ortamınızdaki günlük seçeneklerini yapılandırabilirsiniz. Bu hedefler Azure Monitor Log Analytics, Azure Olay hub'ı ve hatta diğer üçüncü taraf izleme çözümlerini içerebilir. Ayrıca günlük verilerini devre dışı bırakma ve günlükleri yalnızca çalışma zamanında görüntüleme seçeneğiniz vardır. Ayrıntılı yapılandırma yönergeleri için bkz. Log depolama ve izleme seçenekleri Azure Container Apps.
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ı depolamayı yapılandırmanız gerekir. Uygulama ayarları aracılığıyla kapsayıcıya bağlanacak yolu belirtebilir ve uygulamanızın kullandığı yolla hizalayabilirsiniz. Daha fazla bilgi için bkz. Azure Container Apps depolama bağlamalarını 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.
Not
Geçiş için bazı gizlilikleri yeniden adlandırmanız gerekebilir. Uygulama kodunuzu uygun şekilde güncelleştirin.
Tüm sertifikaları KeyVault'a geçirme
Azure Kapsayıcılar Uygulamaları, uygulamalar arasında güvenli iletişimi destekler. Uygulamanızın güvenli iletişim kurma sürecini yönetmesi gerekmez. Özel sertifikayı Azure Container Apps yükleyebilir veya Azure Container Apps tarafından sağlanan ücretsiz yönetilen sertifikayı kullanabilirsiniz. Sertifikaları yönetmek için Azure Key Vault kullanmak önerilen bir yaklaşımdır. Daha fazla bilgi için bkz. Certificates in Azure Container Apps.
Uygulama performansı yönetimi (APM) tümleştirmelerini yapılandırma
Kapsayıcı içinde APM ile ilgili değişkenleri zaten yapılandırdıysanız tek yapmanız gereken hedef APM platformuna bağlantı kuruladığından emin olmaktır. APM yapılandırması kapsayıcıdan ortam değişkenlerine başvuruda bulunursa, çalışma zamanı ortam değişkenlerini Azure Container Apps uygun şekilde ayarlamanız gerekir. connection string gibi hassas bilgiler güvenli bir şekilde işlenmelidir. Bunu gizli dizi olarak belirtebilir veya Azure Key Vault depolanan bir gizli diziye başvurabilirsiniz.
Hizmet başına gizli bilgiler ve dışa aktarılmış ayarları yapılandırma
Yapılandırma ayarlarını her kapsayıcıya ortam değişkenleri olarak ekleyebilirsiniz. Değişkenlerdeki değişiklikler mevcut uygulama için yeni bir düzeltme oluşturur. Gizli bilgiler anahtar-değer çiftleri olarak saklanır ve tüm revizyonlarda geçerli kalır.
Kimlik sağlayıcıyı taşı ve etkinleştir
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 olmak için aşağıdaki yönergeleri kullanın:
- Kimlik sağlayıcısı Microsoft Entra ID, değişiklik yapılması gerekmez.
- Kimlik sağlayıcısı on-premises 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 ID ile federasyonu yapılandırmak için Özel Microsoft Entra Connect yükleme konusuna başvurun. Alternatif olarak, OAuth2/OpenID Connect 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 Container Apps uç noktalarını kullanacak şekilde tüm istemci uygulamalarının yapılandırmasını güncelleştirin.
Geçiş sonrası
Geçişinizi tamamladığınıza göre uygulamanızın beklediğiniz gibi çalıştığını doğrulayın. Ardından aşağıdaki önerileri kullanarak uygulamanızı buluta daha yerel hale getirebilirsiniz.
Uygulamanızın Spring Cloud Registry ile çalışmasını etkinleştirmeyi göz önünde bulundurun. Bu bileşen, uygulamanızın diğer dağıtılan Spring uygulamaları ve istemcileri tarafından dinamik olarak bulunmasını sağlar. Daha fazla bilgi için bkz. Azure Container Apps
Spring için Eureka Server bileşeninin ayarlarını yapılandırma. Ardından, spring client Load Balancer kullanmak için tüm uygulama istemcilerini değiştirin. Spring client Load Balancer, istemcinin uygulamanın çalışan tüm örneklerinin adreslerini almasını ve başka bir örneğin bozulması veya yanıt vermemeye başlaması durumunda çalışan bir örnek bulmasına olanak tanır. Daha fazla bilgi için Spring Blogu'ndaki Spring İpuçları: Spring Cloud Load Balancer bölümüne bakın. Uygulamanızı genel kullanıma açık hale getirmek yerine Spring Cloud Gateway örneği eklemeyi göz önünde bulundurun. Spring Cloud Gateway, Azure Container Apps ortamınızda dağıtılan tüm uygulamalar için tek bir uç nokta sağlar. Spring Cloud Gateway zaten dağıtıldıysa, trafiği yeni dağıtılan uygulamanıza yönlendirmek için bir yönlendirme kuralının yapılandırıldığından emin olun.
Tüm Spring Cloud uygulamalarınız için merkezi olarak yapılandırmayı ve sürüm denetimi yapılandırmasını yönetmek için Spring Cloud Config Server eklemeyi göz önünde bulundurun. İlk olarak, yapılandırmayı barındıracak bir Git deposu oluşturun ve uygulama örneğini bunu kullanacak şekilde yapılandırın. Daha fazla bilgi için bkz. Azure Container Apps'da Spring için Yapılandırma Sunucusu bileşeninin ayarlarını yapılandırma. Ardından aşağıdaki adımları kullanarak yapılandırmanızı aktarın:
Uygulamanın src/main/resources dizininde aşağıdaki içeriklere sahip bir bootstrap.yml dosyası oluşturun:
spring: application: name: <your-application-name>Git deposunda yapılandırmada, önceki adımda olduğu gibi bir< your-application-name>.yml dosyası
your-application-nameoluşturun. src/main/resources içindeki application.yml dosyasındaki ayarları oluşturduğunuz yeni dosyaya taşıyın. Ayarlar daha önce bir .properties dosyasındaysa, önce bunları YAML'ye dönüştürdü. Bu dönüştürmeyi gerçekleştirmek için çevrimiçi araçlar veya IntelliJ eklentileri bulabilirsiniz.Yukarıdaki dizinde bir application.yml dosyası oluşturun. bu dosyayı, Azure Container Apps ortamındaki tüm uygulamalar arasında paylaşılan ayarları ve kaynakları tanımlamak için kullanabilirsiniz. Bu tür ayarlar genellikle veri kaynaklarını, günlük ayarlarını, Spring Boot Aktüatör yapılandırmasını ve diğerlerini içerir.
Bu değişiklikleri işleyin ve Git deposuna gönderin.
uygulamadan application.properties veya application.yml dosyasını kaldırın.
Spring Boot web uygulamalarında aktüatör uç noktalarını kullanıma sunmak ve yönetim arabirimini etkinleştirmek için Spring için Yönetici arabirimi bileşenini eklemeyi düşünün. Daha fazla bilgi için bkz. Spring Boot Admin bileşenini Azure Container Apps içinde yapılandırma.
Otomatik, tutarlı dağıtımlar için bir dağıtım işlem hattı eklemeyi göz önünde bulundurun. Azure Pipelines ve GitHub Actions yönergeleri sağlanır.
Son kullanıcılarınıza sunulmadan önce üretimde kod değişikliklerini test etmenizi sağlayan mavi-yeşil dağıtımı etkinleştirmek için, kapsayıcı uygulama revizyonları, revizyon etiketleri ve giriş trafiği ağırlıklarını kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Container Apps
Blue-Green Dağıtımı. 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 için JVM çekirdek ölçümlerini toplamak üzere Java geliştirme yığınını etkinleştirmeyi göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Container Apps Java uygulamaları için
Java ölçümleri. Azure Monitor uyarı kurallarını ve eylem gruplarını ekleyerek sapkıl koşulları hızla algılamayı ve ele almayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Container Apps uyarılarını ayarlama.
Azure Container Apps alanlar arası yedekliliği etkinleştirerek uygulamanızı bölgedeki bölgeler arasında çoğaltmayı göz önünde bulundurun. Ağ trafiği yük dengelenmiştir ve bir bölge kesintisi durumunda otomatik olarak çoğaltmalara yönlendirilir. Yedekli ayarlar hakkında daha fazla bilgi için bkz. Azure Container Apps'da
Reliability. Application Gateway'de Web Application Firewall kullanarak Azure Container Apps yaygın açıklardan ve güvenlik açıklarından korumayı göz önünde bulundurun. Daha fazla bilgi için bkz. Application Gateway üzerinde Web Application Firewall ile
Protect Azure Container Apps.
Uygulamalarınız eski Spring Cloud Netflix bileşenlerini kullanıyorsa, aşağıdaki tabloda gösterildiği gibi bunları geçerli alternatiflerle değiştirmeyi göz önünde bulundurun:
Miras Geçerli Spring Cloud Eureka Spring Cloud Service Kayıt Defteri Spring Cloud Netflix Zuul Spring Bulut Ağ Geçidi Spring Cloud Netflix Archaius Spring Cloud Konfigürasyon Sunucusu Spring Cloud Netflix Şeridi Spring Cloud Load Balancer (istemci tarafı load balancer) Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J Spring Cloud Netflix Türbini Mikrometre + Prometheus