التطبيق والتوزيع في تطبيقات Azure Spring

إشعار

يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.

تنطبق هذه المقالة على: ✔️ Java ✔️ C#‎

تنطبق هذه المقالة على: ✔️ Basic/Standard ✔️ Enterprise

التطبيق والتوزيع هما المفهومان الأساسيان في نموذج الموارد لـ Azure Spring Apps. في Azure Spring Apps، يعد التطبيق تجريداً لتطبيق أعمال واحد. يتم توزيع إصدار واحد من التعليمات البرمجية أو البرنامج الثنائي باعتباره التطبيق الذي يتم تشغيله في التوزيع. تعمل التطبيقات في مثيل خدمة Azure Spring Apps، أو ببساطة مثيل الخدمة، كما هو موضح بعد ذلك.

Diagram showing the relationship between the apps and deployments.

يمكن أن يكون لديك مثيلات خدمة متعددة داخل اشتراك Azure واحد، ولكن Azure Spring Apps Service أسهل في الاستخدام عندما تكون جميع التطبيقات التي يتكون منها تطبيق الأعمال موجودة داخل مثيل خدمة واحد. أحد الأسباب هو أن التطبيقات من المحتمل أن تتواصل مع بعضها البعض. يمكنهم القيام بذلك بسهولة باستخدام سجل خدمة يوريكا في مثيل الخدمة.

تسمح خطة Azure Spring Apps Standard لتطبيق واحد بنشر إنتاج واحد ونشر مرحلي واحد، بحيث يمكنك القيام بنشر أزرق/أخضر عليه بسهولة.

التطبيق

يتم تعريف الميزات/الخصائص التالية على مستوى التطبيق.

الميزات ‏‏الوصف
نقطة نهاية
عامة
عنوان URL للوصول إلى التطبيق.
نطاق
مخصص
CNAME السجل الذي يؤمن المجال المخصص.
الخدمة
ملزمة
الاتصال الجاهز مع خدمات Azure الأخرى.
هوية
مُدارة
تسمح الهوية المدارة بواسطة معرف Microsoft Entra لتطبيقك بالوصول بسهولة إلى موارد Microsoft Entra المحمية الأخرى مثل Azure Key Vault.
التخزين الدائم
الإعداد الذي يمكن البيانات من الاستمرار بعد إعادة تشغيل التطبيق.

التوزيع

يتم تعريف الميزات/الخصائص التالية على مستوى النشر، ويتم تبادلها عند تبديل الإنتاج والتوزيع المرحلي.

الميزات ‏‏الوصف
CPU عدد vcores لكل مثيل تطبيق.
الذاكرة GB للذاكرة لكل مثيل تطبيق.
عدد المثيل
عدد مثيلات التطبيق، التي يتم تعيينها يدويا أو تلقائيا.
على نطاق والسيارات عدد مثيلات المقياس تلقائيا استنادا إلى قواعد وجداول محددة مسبقا.
خيارات JVM
خيارات JVM لتعيينها.
متغيرات البيئة
متغيرات البيئة المراد تعيينها.
إصدار وقت التشغيل
إما Java 8 أو Java 11.

البيئة

تقوم Azure Spring Apps بتحميل بعض ملفات YAML للقراءة فقط على تطبيقاتك المنشورة. تحتوي هذه الملفات على سياق Azure للنشر. تعرض القائمة التالية مسارات ومحتويات ملفات YAML هذه:

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

إذا كان تطبيقك هو تطبيق Spring Boot، تتم إضافة مساري الملفات هذين إلى SPRING_CONFIG_ADDITIONAL_LOCATION متغير البيئة. بهذه الطريقة، يمكن لتطبيقك تحميل هذه الخصائص كتكوينات واستخدامها في التعليمات البرمجية الخاصة بك. على سبيل المثال، يمكنك استخدام التعليق التوضيحي @ConfigurationProperties لربط خصائص YAML بفئة Java. يوضح مقتطف التعليمات البرمجية التالي كيفية إنشاء @Configuration فئة تمثل سياق Azure:

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

بالنسبة لأي تطبيقات متعددة اللغات الأخرى، قد تحتاج إلى قراءة الخصائص المقابلة والوصول إليها باستخدام مكتبات قراءة/كتابة الملف المقابل في تطبيقاتك.

القيود

  • يجب أن يكون للتطبيق نشر إنتاج واحد. تمنع واجهة برمجة التطبيقات حذف نشر الإنتاج. يجب تبديل التوزيع إلى التقسيم المرحلي قبل حذفه.
  • يمكن أن يحتوي التطبيق على توزيعين على الأكثر. تمنع واجهة برمجة التطبيقات إنشاء أكثر من عملية توزيع. التوزيع الثنائي الجديد إما في الإنتاج الحالي أو التوزيع المرحلي.
  • إدارة التوزيع غير متوفرة في الخطة الأساسية. استخدم خطة Standard أو Enterprise لإمكانية النشر الأزرق والأخضر.

الخطوات التالية