فتحات توزيع وظائف Azure

تسمح فتحات توزيع Azure Functions لتطبيق الوظائف بتشغيل مثيلات مختلفة تسمى فتحات. الفتحات هي بيئات مختلفة مكشوفة عبر نقطة نهاية متاحة للعامة. يتم تعيين مثيل واحد دائمًا للتطبيق إلى فتحة الإنتاج، ويمكنك تبديل المثيلات المعينة للفتحة عند الطلب. تحتوي تطبيقات الوظائف التي تعمل في خطة Consumption على فتحة إضافية واحدة للتقسيم المرحلي. يمكنك الحصول على المزيد من فتحات التقسيم المرحلي عن طريق تشغيل تطبيقك في خطة Premium أو خطة مخصصة (App Service). لمزيد من المعلومات، راجع حدود الخدمة.

فيما يلي كيفية تأثر الوظائف بتبدل الفتحات:

  • إعادة توجيه حركة المرور بسلاسة؛ حيث لا يتم إسقاط أي طلبات بسبب المبادلة. يحدث هذا السلوك السلس لأن مشغل الدالة التالي يتم توجيهه إلى الفتحة المبدلة.
  • يتم إنهاء الدالة المنفذة حاليًا في أثناء التبديل. لمعرفة كيفية كتابة وظائف عديمة الحالة والدفاعية، راجع تحسين أداء وموثوقية Azure Functions.

لماذا تُستخدم الفتحات؟

هناك العديد من المزايا لاستخدام فتحات التوزيع، بما في ذلك:

  • بيئات مختلفة لأغراض مختلفة: يمنحك استخدام فتحات مختلفة الفرصة للتمييز بين مثيلات التطبيق قبل التبديل إلى الإنتاج أو فتحة التقسيم المرحلي.
  • Prewarming: النشر إلى فتحة بدلا من الإنتاج مباشرة يسمح للتطبيق بالتسخين قبل الانتقال مباشرة. بالإضافة إلى ذلك، يقلل استخدام الفتحات من زمن الوصول لأحمال العمل التي يُشغلها HTTP. تكون المثيلات قيد الاستعداد قبل النشر، مما يقلل من البداية البطيئة للوظائف المنشورة حديثًا.
  • عمليات احتياطية سهلة: بعد التبديل مع الإنتاج، تحتوي الفتحة التي تحتوي على تطبيق تم تنظيمه مسبقا الآن على تطبيق الإنتاج السابق. إذا لم تُصبح التغييرات التي تم تبديلها في فتحة الإنتاج كما تتوقع، يمكنك عكس المبادلة على الفور؛ للحصول على "آخر مثيل جيد معروف" مرة أخرى.
  • تقليل عمليات إعادة التشغيل: يتطلب تغيير إعدادات التطبيق في فتحة إنتاج إعادة تشغيل التطبيق قيد التشغيل. يمكنك بدلاً من ذلك تغيير الإعدادات في فتحة التدريج وتبديل تغيير الإعدادات إلى الإنتاج باستخدام مثيل مُجهز مسبقًا. الفتحات هي الطريقة الموصى بها للترحيل بين إصدارات وقت تشغيل الوظائف مع الحفاظ على أعلى توفر. لمعرفة المزيد، راجع الحد الأدنى لتحديث وقت التعطل.

عمليات المبادلة

أثناء التبديل، تعتبر إحدى الفتحات المصدر والأخرى هي الهدف. تحتوي فتحة المصدر على مثيل التطبيق الذي يتم تطبيقه على فتحة الهدف. تضمن الخطوات التالية عدم تعرض فتحة الهدف للتوقف أثناء المبادلة:

  1. تطبيق الإعدادات: يتم تطبيق الإعدادات من الفتحة الهدف على جميع مثيلات فتحة المصدر. على سبيل المثال: يتم تطبيق إعدادات الإنتاج على مثيل التقسيم المرحلي. تتضمن الإعدادات المطبقة الفئات التالية:

  2. انتظر عمليات إعادة التشغيل والتوفر: تنتظر المبادلة لكل مثيل في فتحة المصدر لإكمال إعادة التشغيل وتكون متاحة للطلبات. وإذا فشلت إعادة تشغيل أي مثيل، فإن عملية التبديل تُعيد جميع التغييرات إلى فتحة المصدر وتوقف العملية.

  3. تحديث التوجيه: إذا تم تجهيز جميع المثيلات في فتحة المصدر بنجاح، تكمل الفتحتان التبديل عن طريق تبديل قواعد التوجيه. بعد هذه الخطوة، تحتوي فتحة الهدف (على سبيل المثال، فتحة الإنتاج) على التطبيق الذي تم تجهيزه مسبقا في فتحة المصدر.

  4. تكرار العملية: الآن بعد أن كانت فتحة المصدر تحتوي على تطبيق preswap مسبقا في فتحة الهدف، أكمل نفس العملية عن طريق تطبيق جميع الإعدادات وإعادة تشغيل مثيلات فتحة المصدر.

ضع في اعتبارك النقاط التالية:

  • في أي نقطة من عملية المبادلة، تبدأ التطبيقات التي تم تبديلها على فتحة المصدر. وتبقى فتحة الهدف متصلة أثناء إعداد فتحة المصدر، سواء نجحت المبادلة أو فشلت.

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

  • يجب تكوين الإعدادات المتعلقة بمصادر الحدث والروابط مثل ⁧⁩deployment slot settings⁧⁩⁧⁩قبل بدء عملية التبديل⁧⁩. ويؤدي وضع علامة "مرتبط" عليها في وقت مبكر إلى ضمان توجيه الأحداث والمخرجات إلى المثيل المناسب.

إدارة الإعدادات

ترتبط بعض إعدادات التكوين بالفتحة. فيما يلي تفاصيل الإعدادات التي تتغير عند تبديل فتحات، وتلك التي تبقى كما هي.

الإعدادات الخاصة بالفتحة:

  • نشر نقاط النهاية
  • أسماء المجالات المخصصة
  • الشهادات غير العامة وإعدادات TLS/SSL
  • إعدادات المقياس
  • قيود IP
  • قيد التشغيل دائمًا
  • إعدادات التشخيص
  • مشاركة الموارد عبر المنشأ (CORS)
  • نقاط النهاية الخاصة

الإعدادات غير الخاصة بالفتحة:

  • الإعدادات العامة، مثل إصدار الإطار، 32/64 بت، مآخذ الويب
  • إعدادات التطبيق (يمكن تهيئتها لتلتزم بفتحة)
  • سلاسل الاتصال (يمكن تهيئتها لتلتزم بفتحة)
  • تعيينات المعالج
  • الشهادات العامة
  • اتصالات مختلطة *
  • تكامل الشبكة الظاهرية *
  • نقاط نهاية الخدمة *
  • Azure Content Delivery Network *

لا يتم تبديل الميزات التي تم وضع علامة نجمية عليها (*)، حسب التصميم.

إشعار

وكذلك لا تُبدل بعض إعدادات التطبيق التي تنطبق على الإعدادات غير المبدلة. على سبيل المثال، نظرا لعدم تبديل إعدادات التشخيص، فإن إعدادات التطبيق ذات الصلة مثل WEBSITE_HTTPLOGGING_RETENTION_DAYS ولا DIAGNOSTICS_AZUREBLOBRETENTIONDAYS يتم تبديلها أيضا، حتى إذا لم تظهر كإعدادات فتحة.

إنشاء إعداد للنشر

يمكنك وضع علامة على الإعدادات كإعداد توزيع، ما يجعلها ملصقة. لا يتم تبديل الإعداد المرتبط بمثيل التطبيق.

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

استخدم الخطوات التالية لإنشاء إعداد للنشر:

  1. انتقل إلى Deployment slots في تطبيق الوظائف، ثم حدد اسم الفتحة.

    Find slots in the Azure portal.

  2. حدد التكوين، ثم حدد اسم الإعداد الذي تريد الالتزام به مع الفتحة الحالية.

    Configure the application setting for a slot in the Azure portal.

  3. حدد Deployment slot setting، ثم حدد OK.

    Configure the deployment slot setting.

  4. بمجرد اختفاء قسم الإعداد، حدد حفظ للاحتفاظ بالتغييرات

    Save the deployment slot setting.

التوزيع

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

تغير الحجم

تُقاس جميع الفتحات إلى نفس عدد العمال مثل فتحة الإنتاج.

  • وبالنسبة لخطط الاستهلاك، تُقاس الفتحة كمقياس لتطبيق الوظيفة.
  • بالنسبة لخطط خدمة التطبيقات، يُقاس التطبيق إلى عدد ثابت من العمال. تعمل الفتحات على نفس عدد العمال بخطة التطبيق.

عرض الفتحات

يمكنك عرض معلومات حول الفتحات الموجودة باستخدام إما Azure CLI أو من خلال مدخل Microsoft Azure.

استخدم هذه الخطوات لإنشاء فتحة جديدة في المدخل:

  1. انتقل إلى تطبيق الوظائف.

  2. حدد Deployment slots ويتم عرض الفتحات الموجودة.

إضافة فتحة

يمكنك إضافة فتحة باستخدام إما Azure CLI أو من خلال مدخل Microsoft Azure.

استخدم هذه الخطوات لإنشاء فتحة في المدخل:

  1. انتقل إلى تطبيق الوظائف.

  2. حدد Deployment slots، ثم حدد + Add Slot.

    Add Azure Functions deployment slot.

  3. اكتب اسم الفتحة وحدد إضافة.

    Name the Azure Functions deployment slot.

موارد فتحة الوصول

يمكنك الوصول إلى الموارد (مشغلات HTTP ونقاط نهاية المسؤول) في فتحة التقسيم المرحلي بنفس طريقة فتحة الإنتاج. ومع ذلك، بدلا من اسم مضيف تطبيق الوظائف، يمكنك استخدام اسم المضيف الخاص بالفتحة في عنوان URL للطلب، إلى جانب أي مفاتيح خاصة بالفتحة. نظرا لأن فتحات التقسيم المرحلي هي تطبيقات مباشرة، يجب عليك تأمين وظائفك في فتحة التقسيم المرحلي كما تفعل في فتحة الإنتاج.

فتحات المبادلة

يمكنك تبديل الفتحات في نفاد الإنتاج باستخدام إما Azure CLI أو من خلال مدخل Microsoft Azure.

استخدم هذه الخطوات لتبديل فتحة التقسيم المرحلي إلى الإنتاج:

  1. انتقل إلى تطبيق الوظائف.

  2. حدد Deployment slots، ثم حدد Swap.

    Screenshot that shows the 'Deployment slot' page with the 'Add Slot' action selected.

  3. تحقق من إعدادات التكوين لتبديلك وحدد Swap

    Swap the deployment slot.

قد تستغرق عملية التبديل بضع ثوان.

التراجع عن المبادلة

إذا كانت المبادلة ستؤدي إلى خطأ، أو كنت تريد ببساطة "التراجع" عن المبادلة، يمكنك التراجع إلى الحالة الأولية. للعودة إلى الحالة المتبدلة مسبقا، قم بمبادلة أخرى لعكس التبديل.

إزالة فتحة

يمكنك إزالة فتحة باستخدام إما Azure CLI أو من خلال مدخل Microsoft Azure.

استخدم هذه الخطوات لإزالة فتحة من تطبيقك في المدخل:

  1. انتقل إلى Deployment slots في تطبيق الوظائف، ثم حدد اسم الفتحة.

    Find slots in the Azure portal.

  2. حدد حذف.

    Screenshot that shows the 'Overview' page with the 'Delete' action selected.

  3. اكتب اسم فتحة النشر التي تريد حذفها، ثم حدد حذف.

    Delete the deployment slot in the Azure portal.

  4. أغلق جزء التأكيد.

    Deployment slot delete confirmation.

تغيير خطة خدمة التطبيقات

باستخدام تطبيق وظيفة تعمل ضمن خطة خدمة التطبيقات، يمكنك تغيير خطة خدمة التطبيقات الأساسية للفتحة.

إشعار

ولا يمكنك تغيير خطة خدمة التطبيقات في الفتحة ضمن خطة الاستهلاك.

استخدم الخطوات التالية لتغيير خطة خدمة التطبيقات الخاصة بالفتحة:

  1. انتقل إلى Deployment slots في تطبيق الوظائف، ثم حدد اسم الفتحة.

    Find slots in the Azure portal.

  2. ضمن App Service plan، حدد Change App Service plan.

  3. حدد الخطة التي تريد الترقية إليها، أو قم بإنشاء خطة جديدة.

    Change the App Service plan in the Azure portal.

  4. حدد موافق.

الاعتبارات

تتميز فتحات توزيع Azure Functions بالاعتبارات التالية:

  • يعتمد عدد الفتحات المتاحة للتطبيق على الخطة. تسمح خطة الاستهلاك بفتحة نشر واحدة فقط. تتوفر المزيد من الفتحات للتطبيقات التي تعمل ضمن خطط أخرى. لمعرفة التفاصيل، يُرجى الاطلاع على Service limits.
  • يؤدي تبديل فتحة إلى إعادة تعيين المفاتيح للتطبيقات التي تحتوي على AzureWebJobsSecretStorageType إعداد تطبيق يساوي files.
  • عند تمكين الفتحات، يتم تعيين تطبيق الوظائف إلى وضع القراءة فقط في المدخل.
  • قد تفشل عمليات تبديل الفتحات عندما يستخدم تطبيق الوظائف حساب تخزين آمن كحساب تخزين افتراضي (تم تعيينه في AzureWebJobsStorage). لمزيد من المعلومات، راجع WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS المرجع.
  • استخدم أسماء تطبيقات الوظائف أقصر من 32 حرفًا. الأسماء التي يزيد طولها عن 32 حرفا معرضة لخطر التسبب في تضارب معرف المضيف.

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