Azure Spring Apps'te uygulama ve dağıtım
Not
Temel, Standart ve Kurumsal planları, 3 yıllık kullanımdan kaldırma süresiyle Mart 2025 ortasından itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.
Standart tüketim ve ayrılmış plan, altı ay sonra tamamen kapatılarak 30 Eylül 2024'den itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps Standart tüketimini ve ayrılmış planı Azure Container Apps'e geçirme.
Bu makale şunlar için geçerlidir: ✔️ Java ✔️ C#
Bu makale şunlar için geçerlidir: ✔️ Temel/Standart ✔️ Kurumsal
Uygulama ve Dağıtım , Azure Spring Apps'in kaynak modelindeki iki temel kavramdır. Azure Spring Apps'te uygulama, bir iş uygulamasının soyutlamasıdır. Uygulama bir Dağıtımda çalışırken dağıtılan bir kod veya ikili sürümü. Uygulamalar bir Azure Spring Apps hizmet örneğinde veya daha sonra gösterildiği gibi yalnızca hizmet örneğinde çalışır.
Tek bir Azure aboneliğinde birden çok hizmet örneğiniz olabilir, ancak bir iş uygulamasını oluşturan tüm Uygulamalar tek bir hizmet örneğinde bulunduğunda Azure Spring Apps Hizmeti'ni kullanmak en kolay seçenektir. Bunun bir nedeni, Uygulamaların birbiriyle iletişim kurma olasılığının yüksek olmasıdır. Bunu, hizmet örneğinde Eureka hizmet kayıt defterini kullanarak kolayca yapabilir.
Azure Spring Apps Standart planı, bir Uygulamanın tek bir üretim dağıtımına ve bir hazırlama dağıtımına sahip olmasını sağlar, böylece üzerinde mavi/yeşil dağıtımı kolayca yapabilirsiniz.
Uygulama
Aşağıdaki özellikler/özellikler uygulama düzeyinde tanımlanır.
Özellikler | Açıklama |
---|---|
Genel Uç Nokta |
Uygulamaya erişmek için URL. |
Özel Etki Alanı |
CNAME Özel etki alanının güvenliğini sağlayan kayıt. |
Hizmet Bağlama |
Diğer Azure hizmetleriyle kullanıma sunulan bağlantı. |
Yönetilen Kimlik |
Microsoft Entra Id tarafından yönetilen kimlik, uygulamanızın Azure Key Vault gibi diğer Microsoft Entra korumalı kaynaklara kolayca erişmesini sağlar. |
Kalıcı Depolama |
Verilerin uygulama yeniden başlatmanın ötesinde kalıcı olmasını sağlayan ayar. |
Dağıtım
Aşağıdaki özellikler/özellikler dağıtım düzeyinde tanımlanır ve üretim ve hazırlama dağıtımı değiştirilirken değiştirilir.
Özellikler | Açıklama |
---|---|
CPU | Uygulama örneği başına sanal çekirdek sayısı. |
Bellek | Uygulama örneği başına GB bellek. |
Örnek Sayısı |
El ile veya otomatik olarak ayarlanan uygulama örneği sayısı. |
Otomatik Ölçeklendirme | Ölçek örneği sayısı, önceden tanımlanmış kurallara ve zamanlamalara göre otomatik olarak gerçekleştirilir. |
JVM Seçenekleri |
Ayarlanacağı JVM seçenekleri. |
Ortam Değişkenleri |
Ayarlanacağı ortam değişkenleri. |
Çalışma Zamanı Sürümü |
Java 8 veya Java 11. |
Ortam
Azure Spring Apps, dağıtılan uygulamalarınıza bazı salt okunur YAML dosyalarını bağlar. Bu dosyalar bir dağıtımın Azure bağlamını içerir. Aşağıdaki liste, bu YAML dosyalarının yollarını ve içeriğini gösterir:
/etc/azure-spring-cloud/context/azure-spring-apps.yml
AZURE_SPRING_APPS: SUBSCRIPTION_ID: <your-azure-subscription-id> RESOURCE_GROUP: <your-resource-group-name> NAME: <your-azure-spring-apps-name>
/etc/azure-spring-cloud/context/azure-spring-apps-deployment.yml
AZURE_SPRING_APPS: APP: NAME: <your-app-name> DEPLOYMENT: NAME: <your-deployment-name> ACTIVE: true # true if the deployment is in production, false if in staging
Uygulamanız bir Spring Boot uygulamasıysa, bu iki dosya yolu ortam değişkenine SPRING_CONFIG_ADDITIONAL_LOCATION
eklenir. Bu şekilde uygulamanız bu özellikleri yapılandırma olarak yükleyebilir ve kodunuzda kullanabilir. Örneğin, YAML özelliklerini bir Java sınıfına bağlamak için ek açıklamayı kullanabilirsiniz @ConfigurationProperties
. Aşağıdaki kod parçacığı, Azure bağlamını temsil eden bir @Configuration
sınıfın nasıl oluşturulacağını gösterir:
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(prefix = "azure-spring-apps")
@Data
public class AzureSpringAppsContext {
private String subscriptionId;
private String resourceGroup;
private String name;
private AppContext app;
private DeploymentContext deployment;
@Data
public static class AppContext {
private String name;
}
@Data
public static class DeploymentContext {
private String name;
private boolean active;
}
}
Diğer tüm çok teknolojili uygulamalar için, uygulamalarınızda ilgili dosya okuma/yazma kitaplıklarını kullanarak ilgili özellikleri okumanız ve bu özelliklere erişmeniz gerekebilir.
Kısıtlamalar
- Bir uygulamanın bir üretim dağıtımı olmalıdır. API, üretim dağıtımının silinmesini engeller. Bir dağıtımı silmeden önce hazırlamaya değiştirmelisiniz.
- Bir uygulamanın en fazla iki dağıtımı olabilir. API, ikiden fazla dağıtımın oluşturulmasını engeller. Yeni ikili dosyanızı mevcut üretim veya hazırlama dağıtımına dağıtın.
- Dağıtım yönetimi Temel planda kullanılamaz. Mavi-yeşil dağıtım özelliği için Standart veya Kurumsal planı kullanın.