إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تساعدك هذه المقالة على الاختيار بين نموذجي استضافة المهام الدائمة — Durable Functions (دالات Azure) وSDKs المستقلة للمهام المتدينة (مستضافتة ذاتيا) — بناء على منصة الاستضافة الخاصة بك، واحتياجات التوسع، ومتطلبات التشغيل.
نصيحة
هل تعرف بالفعل منصة الاستضافة الخاصة بك؟ انتقل إلى جدول البحث على المنصة للحصول على إجابة سريعة.
كما هو موضح في كتاب "ما هي المهمة المتطورة؟"، يدعم المهمة المتمولة نموذجين للاستضافة:
- دالات Azure (عبر Durable Functions)
- مستضاف ذاتيا (عبر SDKs Durable Task المستقلة).
كلا النموذجين للاستضافة يوفران نفس القدرات الأساسية والدائمة للتنفيذ (التنسيقات، الأنشطة، المؤقتات، الأحداث الخارجية، والمزيد) لكنهما يختلفون في كيفية استضافة التطبيق وتوسيمه ونشره.
بشكل عام، مكان تشغيل تطبيقك يحدد نموذج الاستضافة الذي تستخدمه. إذا كنت تبني على دالات Azure، فأنت تستخدم Durable Functions. إذا كنت تبني على أي منصة حوسبة أخرى، فأنت تستخدم SDKs المستقلة Durable Task (SDKs).
اختر بناء على منصة الاستضافة
إذا كنت تعرف بالفعل منصة استضافة تطبيقك، يمكن للجدول التالي مساعدتك في تحديد نموذج الاستضافة الذي تستخدمه:
| منصة الاستضافة | نموذج الاستضافة |
|---|---|
| دالات Azure (استهلاك، استهلاك مرن، علاوة على السعر) | Durable Functions |
| Azure Container Apps (مع مدة دالات Azure) | أي واحد |
| "Azure App Service" (مع دالات Azure مدة تشغيل) | أي واحد |
| خدمة Azure Kubernetes (AKS) | SDKs مستقل للمهام المتطورة |
| الآلات الافتراضية أو الأنظمة المحلية | SDKs مستقل للمهام المتطورة |
ملحوظة
يمكن لكل من "Azure App Service" و Azure Container Apps استضافة وقت تشغيل دالات Azure، إما من خلال الإدارة الكاملة دالات Azure التكامل أو عن طريق نشر وقت تشغيل الدوال مباشرة. لذا، تدعم كلا المنصتين أي من نماذج الاستضافة. لمزيد من المعلومات حول نماذج الاستضافة دالات Azure، راجع دالات Azure plans hosting.
قارن نماذج الاستضافة
يلخص الجدول التالي الفروقات الرئيسية بين نموذجي الاستضافة:
| Durable Functions (دالات Azure) | مجموعات SDK مستقلة للمهام الدائمة (مستضافتة ذاتيا) | |
|---|---|---|
| استضافه | دالات Azure (Consumption, Flex Consumption, Premium)، خدمة التطبيقات، وتطبيقات الحاويات (مع وقت تشغيل الوظائف) | أي منصة: Azure Container Apps, AKS, App Service, VMs, on-premises |
| القياس | Automatic، تدار بواسطة بنية دالات Azure managed scale | أنت تدير التوسع بنفسك، أو تستخدم التكبير التلقائي الأصلي للمنصة (مثل KEDA على Kubernetes) |
| مشغلات | دعم مدمج ل HTTP، وقائمة الانتظار، والمؤقت، وشبكة الأحداث، و دالات Azure المحفزات الأخرى | أنت تحدد نقاط الدخول الخاصة بك (مثل نقاط نهاية HTTP، مستهلكي الرسائل، إلخ). |
| تخزين الحالة | Durable Task Scheduler (موصى به)، تخزين Azure، MSSQL، Netherite | جدولة المهام الدائمة |
| اللغات | .NET (C#/F#)، JavaScript/TypeScript، Python، Java، PowerShell | .NET (C#/F#)، JavaScript/TypeScript، Python، Java |
| رصد | تكامل مدمج مع بوابة Azure، Application Insights | تقوم بإعداد حل المراقبة الخاص بك (على سبيل المثال، Azure Monitor أو Prometheus أو Grafana) |
ملحوظة
يحدث التشغيل البارد عندما يبدأ تطبيق الوظائف بعد أن يكون في وضع الخمول. خطط الاستضافة المميزةوالمخصصة تحافظ على دفء المثيلات لتقليل تأخير التشغيل البارد.
تقدم خطة استضافة الاستهلاك المرنمفهوم "الحالات الجاهزة دائما" كوسيلة للتخفيف من البدء البارد.
تعرف على المزيد حول دالات Azure استضافة النماذج.
واجهات برمجة التطبيقات HTTP المضمنة
يوفر دالات Azure نقاط نهاية HTTP لتطبيق الوظائف الخاص بك، والتي يستفيد منها امتداد Durable Functions لتوفير دعم مدمج لإدارة المثيل عبر HTTP.
عند استخدام SDKs للمهام الدائمة، تحتاج إلى تنفيذ نقاط نهاية HTTP خاصة بك حسب حساب الاستضافة الخاص بك.
| الميزة | Durable Functions | مجموعات SDK للمهام المتينة |
|---|---|---|
| واجهات برمجة تطبيقات HTTP الإدارية | ✅ مدمج | ❌ نفذ عملك الخاص |
| عناوين URL التلقائية للحالة | ✅ مدمج | ❌ نفذ عملك الخاص |
ميزات Durable Functions في HTTP
يعرض Durable Functions تلقائيا نقاط نهاية HTTP لبدء التنسيقات، والاستعلام عن الحالة، ورفع الأحداث، وإنهاء المثولات. تتبع هذه الواجهات نمط استطلاع HTTP غير المتزامن، مما يسهل دمجها مع الأنظمة الخارجية.
ملحوظة
Durable Functions يدعم استخدام فئة DurableTaskClient مباشرة إذا كنت تفضل ذلك على استخدام واجهات برمجة التطبيقات المدمجة في HTTP.
تعرف على المزيد: ميزات HTTP في Durable Functions | HTTP API reference
إدارة SDKs للمهام الدائمة
مع SDKs Durable Task، تستخدم الفئة DurableTaskClient مباشرة لإدارة مثيلات التنسيق. إذا كنت بحاجة إلى نقاط نهاية HTTP، فعليك تنفيذها بنفسك باستخدام إطار الويب الذي تفضله.
تعرف على المزيد: إدارة حالات التوزيع الموسيقي
الخلفيات الخلفية للتخزين
يستخدم كلا النموذجين الاستضافين Durable Task Scheduler — وهو خدمة Azure مدارة بالكامل لاستمرارية حالة التنسيق وتنفيذها (preciing). تدعم Durable Functions أيضا دعم إنشاء التخزين الخاص بك (تخزين Azure، MSSQL، وNetherite). تستخدم SDKs للمهام المتطورة حصريا جدولة المهام المتينة.
تعرف على المزيد: مزودو التخزين
تكوين مركز المهام
Durable Functions يضبط مراكز المهام في ملف host.json. تقوم مجموعات تطوير المهام المتينة بتكوين مراكز المهام في متغيرات الكود والبيئة (سلسلة الاتصال/endpoint).
تعرف على المزيد: مراكز المهام
التشخيص وتنظيم النسخ
| الميزة | Durable Functions | مجموعات SDK للمهام المتينة |
|---|---|---|
| لوحة تحكم جدولة المهام الدائمة | ✅ نعم | ✅ نعم |
| Application Insights | ✅ مدمج | إعداد يدوي |
| النشر بدون توقف | ✅ خانات الوظائف | المنصة الخاصة |
تعرف على المزيد:تصنيف النسخ |
متى تختار كل نموذج
عند الاختيار بين نموذجي الاستضافة، ضع في اعتبارك العوامل التالية:
| اختر Durable Functions إذا... | اختر بطاقات SDK مستقلة من Durable Task إذا... |
|---|---|
| تريد مشغلات دالات Azure مدمجة (HTTP، Queue، المؤقت، إلخ). | تريد السيطرة الكاملة على حاويتك ونقاط دخولها. |
| أنت بالفعل على دراية بنموذج استضافة دالات Azure. | تفضل SDK خفيف الوزن بدون عبء تشغيل دالات Azure. |
| أنت تريد تكامل بوابة Azure لإدارة الوظائف. | تريد أن يكون نفس الكود محمولا عبر منصات الحاويات (AKS، App Service، إلخ). |
| تحتاج إلى الاختيار من بين عدة خلفيات تخزين. | لديك كود تطبيقات غير تابع للوظائف لتدمج معه. |
| تحتاج إلى تطبيقات بدون خادم وتعتمد على الأحداث وتتوسع إلى الصفر. | تحتاج إلى أحمال عمل دائمة التشغيل ومنخفضة التأخير دون تأخيرات في التشغيل البارد. |
| تريد تسعير الدفع مقابل التنفيذ مع خطة الاستهلاك. | تحتاج إلى سيناريوهات عالية الإنتاجية محسنة للمعالجة الدفعية. |
| تحتاج إلى نمذجة أولية سريعة باستخدام محفزات وقيود إعلانية. | لديك تطبيقات محويات أو تطبيقات Kubernetes موجودة. |
الترحيل
إذا كنت تستخدم بالفعل Durable Functions وترغب في الانتقال إلى النشر القائم على الحاويات أو الاستفادة من مرونة استضافة Durable Task SDKs، فإن الترحيل بسيط. كود التوزيع الموسيقي مشابه جدا بين كلا الإطارين.
للحصول على إرشادات ترحيلة مفصلة حول الرحلات، انظر Migrationate من Durable Functions إلى مجموعات تطوير المهام الدائمة.
ملحوظة
إطار عمل المهام الدائمة (DTFx): Durable Task Framework هو مكتبة .NET مفتوحة المصدر وتحتفظ بها المجتمع للتنسيق الدائم. يستخدم داخليا كتبعية ل Durable Functions، لكنه لا يأتي بدعم رسمي من Microsoft. إذا كنت تبدأ مشروعا جديدا، استخدم مجموعات تطوير المهام الحديثة Durable Task أو Durable Functions بدلا من ذلك.
الخطوات التالية
ابدأ بالإطار الذي اخترته:
نظرة عامة Durable Functions
ثم، تعرف أكثر على مزود Durable Task Scheduler في الخلفية.