التشغيل السريع: إعداد التحجيم التلقائي للتطبيقات في استهلاك Azure Spring Apps Standard وخطة مخصصة

إشعار

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

تنطبق هذه المقالة على: ✔️ الاستهلاك القياسي والمخصصة (معاينة) ❌ Basic/Standard ❌ Enterprise

توضح هذه المقالة كيفية إعداد قواعد التحجيم التلقائي لتطبيقاتك في استهلاك Azure Spring Apps Standard وخطة مخصصة. تستخدم الخطة بيئة Azure Container Apps لاستضافة تطبيقات Spring، وتوفر الإدارة والدعم التاليين:

  • إدارة التحجيم الأفقي التلقائي من خلال مجموعة من قواعد التحجيم التعريفية.
  • يدعم جميع قواعد التحجيم التي تدعمها Azure Container Apps.

لمزيد من المعلومات، راجع وثائق Azure Container Apps.

المتطلبات الأساسية

المقصود بالمقياس

يتم تعريف التحجيم من خلال الجمع بين الحدود والقواعد.

  • الحدود هي الحد الأدنى والحد الأقصى لعدد المثيلات التي يسمح بها Spring.

    حد المقياس القيمة الافتراضية أدنى قيمة أقصى قيمة
    الحد الأدنى لعدد المثيلات لكل عملية نشر 1 0 30
    الحد الأقصى لعدد المثيلات لكل عملية نشر 10 1 30

    بشكل افتراضي، يتم تعيين الحد الأدنى لعدد المثيلات لتطبيق Spring الخاص بك إلى 1 للتأكد من أن النشر الخاص بك قيد التشغيل دائما. إذا كنت تريد تغيير الحجم إلى الصفر، يمكنك تعيين الحد الأدنى لعدد المثيلات إلى صفر.

  • القواعد هي المعايير التي يلتزم بها التحجيم التلقائي لإضافة مثيلات أو إزالتها. تتضمن قواعد المقياس HTTP وTCP والقواعد المخصصة كما هو موضح في قسم قواعد المقياس في تعيين قواعد التحجيم في Azure Container Apps.

    إذا قمت بتعريف أكثر من قاعدة مقياس واحدة، يبدأ التحجيم التلقائي عند استيفاء الشرط الأول لأي قاعدة.

  • الفاصل الزمني للاستقصاء وفترة التهدئة هما امتدادان زمنيان يحدثان أثناء التحجيم التلقائي.

    • يحدد الفاصل الزمني للاستقصاء الفترة الزمنية بين كل إجراء استقصاء لبيانات الوقت الحقيقي كما هو محدد من قبل القواعد الخاصة بك. يتم تعيين الفاصل الزمني للاستقصاء إلى 30 ثانية بشكل افتراضي.
    • تنطبق فترة التهدئة فقط عند التحجيم إلى الصفر - على سبيل المثال، للانتظار خمس دقائق بعد آخر مرة قام فيها التحجيم التلقائي بالتحقق من قائمة انتظار الرسائل وكانت فارغة.

إعداد إعدادات التحجيم التلقائي

يمكنك إعداد إعدادات التحجيم التلقائي للتطبيق الخاص بك باستخدام مدخل Azure أو Azure CLI.

استخدم الخطوات التالية لتعريف إعدادات وقواعد التحجيم التلقائي.

  1. قم بتسجيل الدخول إلى بوابة Azure.
  2. حدد Azure Spring Apps ضمن Azure services.
  3. في عمود الاسم ، حدد مثيل Azure Spring Apps الذي تريد تغيير حجمه تلقائيا.
  4. في صفحة النظرة العامة لمثيل Azure Spring Apps، حدد التطبيقات في جزء التنقل.
  5. حدد التطبيق الذي تريد تحجيمه تلقائيا.
  6. في صفحة النظرة العامة للتطبيق المحدد، حدد Scale out في جزء التنقل.
  7. في صفحة Scale out (Preview)، حدد التوزيع الذي تريد تغيير حجمه تلقائيا.
  8. قم بإعداد حدود المثيل للتوزيع.
  9. حدد إضافة لإضافة قواعد المقياس.

Screenshot of the Azure portal preview version showing the Scale out page for an app in an Azure Spring Apps instance.

قواعد التحجيم المخصصة

للحصول على معلومات حول تعريف القواعد المخصصة، راجع متدرجات Keda. تعرض الأقسام التالية مثالين لإعداد قواعد المقياس على MySQL وCron.

إعداد قواعد التحجيم التلقائي على قاعدة بيانات MySQL

توضح لك أوامر CLI التالية كيفية التحجيم التلقائي لتطبيق Spring الخاص بك استنادا إلى Keda MySQL Scaler. أولا، أنشئ سرا لتخزين سلسلة الاتصال SQL. يتم استخدام هذا السر لمصادقة قاعدة المقياس. بعد ذلك، قم بإعداد قاعدة تقوم بتحجيم التطبيق استنادا إلى عدد صفوف الجدول.

az spring app update \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --secrets mysqlconnectionstring="<username>:<pwd>@tcp(<server name>:3306)/<database name>" 

az spring app scale \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --scale-rule-type mysql \
    --scale-rule-name <your rule name> \
    --scale-rule-auth "connectionString=mysqlconnectionstring" \
    --scale-rule-metadata queryValue=4 query="SELECT count(*) FROM mytable" \
    --min-replicas 0 \
    --max-replicas 3

إنشاء قاعدة استنادا إلى Linux cron

توضح لك الأوامر التالية كيفية إعداد قاعدة استنادا إلى Keda Cron Scaler. يتم تحجيم النسخ المتماثلة إلى الرقم المطلوب أثناء الفاصل الزمني cron.

az spring app scale \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --scale-rule-type cron \
    --scale-rule-name testscalerule \
    --scale-rule-metadata timezone="Asia/Shanghai" \
                          start="10 * * * *" \
                          end="15 * * * *" \
                          desiredReplicas="3" \
    --min-replicas 0 \
    --max-replicas 3

أحداث التحجيم

يمكنك العثور على أحداث التحجيم من سجلات النظام لتطبيق الحاوية الأساسي، وتصفية EventSource باستخدام KEDA، كما هو موضح في المثال التالي:

ContainerAppSystemLogs_CL 
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'

تنظيف الموارد

تأكد من حذف الموارد التي قمت بإنشائها في هذه المقالة عندما لم تعد بحاجة إليها. لحذف الموارد، ما عليك سوى حذف مجموعة الموارد التي تحتوي عليها. يمكنك حذف مجموعة الموارد باستخدام مدخل Microsoft Azure. بدلا من ذلك، لحذف مجموعة الموارد باستخدام Azure CLI، استخدم الأوامر التالية:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

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