إدارة بيانات التنسيق مع مزودي التخزين

عندما تبني سير عمل باستخدام Durable Functions أو SDKs Durable Task، تحتاج التنسيقات الخاصة بك إلى مكان لتخزين حالتها. يتعامل مزودو التخزين مع ذلك من خلال استمرار تاريخ التنسيق، وحالة الكيان، والرسائل الداخلية إلى خلفية من اختيارك. هذا التخزين المتين هو ما يجعل سير عملك موثوقا—يمكنها التوقف مؤقتا، والتوسع، وإعادة التشغيل، والاستعادة دون فقدان التقدم.

تدعم Durable Functions عدة مزودي تخزين خلفية. قم بتكوين تطبيقك ليستخدم أحد الخيارات التالية:

  • Azure managed:
    • جدولة المهام المتطورة (موصى بها)
  • "أحضر تخزينك الخاص" (BYO):
    • تخزين Azure
    • Netherite
    • خادم مايكروسوفت SQL (MSSQL)

ملحوظة

حاليا، لا يمكنك نقل البيانات من مزود تخزين خلفي إلى آخر. إذا كنت ترغب في استخدام مزود جديد، أنشئ تطبيقا جديدا مهيأ مع مزود جديد.

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

جدولة المهام المتطورة

جدولة المهام الدائمة هي مزود خلفية عالي الأداء ومدار بالكامل، تم تصميمه وتطويره بالتعاون مع Microsoft Research. يهدف إلى تقديم أفضل تجربة مستخدم في جوانب مثل الإدارة، وقابلية الملاحظة، والأداء، والأمان.

تشمل الفوائد الرئيسية لجدولة المهام الدائمة:

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

يمكن لمستخدمي Durable Functions وDurable Task SDK الحاليين الاستفادة من المجدول دون تغييرات في الكود. تعرف أكثر على جدولة المهام الدائمة، وكيفية البدء.

يمكن العثور على عينات من جدولة المهام المتينة على GitHub.

تخزين Azure

تخزين Azure هو أحد مزودي التخزين "أحضر لك بنفسك" لبرنامج Durable Functions. يستخدم قوائم الانتظار والجداول والكتل لاستمرارية التنسيق وحالة الكيان، واستئجار الكتل لإدارة الأقسام. مزود تخزين Azure مدمج في امتداد Durable Functions ولا يحتوي على تبعيات أخرى.

تشمل الفوائد الرئيسية لمزود تخزين Azure:

  • لا يلزم الإعداد - يمكنك استخدام حساب التخزين الذي تم إنشاؤه لك من خلال تجربة إعداد تطبيق الدالة.
  • نموذج الفوترة بدون خادم بأقل تكلفة - تخزين Azure لديه نموذج تسعير قائم على الاستهلاك يعتمد بالكامل على الاستخدام (مزيد من المعلومات).
  • أفضل دعم للأدوات - يقدم تخزين Azure محاكاة محلية عبر المنصات ويتكامل مع Visual Studio وتعليمة Visual Studio برمجية وأدوات دالات Azure الأساسية.
  • الأكثر نضجا - كان تخزين Azure هو النسخة الأصلية والأكثر اختبارا في الخلفية لنظام Durable Functions.
  • دعم استخدام الهوية بدلا من الأسرار للاتصال بموفر التخزين.

مزود تخزين Azure لا يتطلب أي تكوين صريح، أو مراجع حزم NuGet، أو مراجع حزمة امتدادات. للحصول على خيارات التكوين التفصيلية، بما في ذلك الاتصالات، والمصادقة القائمة على الهوية، وإعدادات host.json، راجع تخزين Azure provider ل Durable Functions.

خادم مايكروسوفت SQL (MSSQL)

يقوم مزود تخزين MSSQL بالحفاظ على جميع الحالات في قاعدة بيانات MSSQL. وهو متوافق مع كل من النشر المحلي والمستضاف سحابيا ل SQL Server، بما في ذلك قاعدة بيانات Azure SQL.

تشمل الفوائد الرئيسية لموفر تخزين MSSQL:

  • يتم دعم البيئات غير المتصلة؛ لا يتطلب اتصال Azure عند استخدام تثبيت SQL Server.
  • محمول عبر بيئات وسحابات متعددة، بما في ذلك المستضافات في Azure والمحلي.
  • تناسق قوي للبيانات، مما يتيح النسخ الاحتياطي/الاستعادة و تجاوز الفشل بدون فقدان للبيانات.
  • دعم أصلي لتشفير البيانات المخصص (وهي ميزة في SQL Server).
  • يتكامل مع تطبيقات قاعدة البيانات الموجودة عبر إجراءات مخزنة مضمنة.

تعرف أكثر على مزود تخزين MSSQL:

Netherite

ملحوظة

ينتهي دعم استخدام خلفية تخزين Netherite مع Durable Functions في 31 مارس 2028. نوصي بتقييم جدولة المهام الدائمة لأعباء العمل التي تستخدم Netherite حاليا.

تم تصميم خلفية تخزين Netherite وتطويرها من قبل Microsoft Research. يستخدم تقنية قواعد البيانات مراكز أحداث Azure وتقنية قواعد البيانات FASTER فوق Azure Page Blobs.

تشمل الفوائد الرئيسية لموفر تخزين Netherite:

  • معدل نقل أعلى بتكلفة أقل مقارنة بموفري التخزين الآخرين.
  • يدعم تحسين أداء الأسعار، مما يسمح لك بتعزيز الأداء حسب الحاجة.
  • يدعم ما يصل إلى 32 قسم بيانات باستخدام مراكز الأحداث الأساسية ووحدات حفظ المخزون القياسية.
  • أكثر فعالية من حيث التكلفة من الموفرين الآخرين لأحمال العمل ذات معدل النقل العالي.

تعرف أكثر على مزود تخزين Netherite:

قارن مزودي التخزين

يمكنك استخدام الجدول التالي لفهم المقايضات الكبيرة بين مزودي التخزين المدعومين المختلفة وتحديد أي مزود تخزين هو الأنسب لاحتياجاتك.

الميزة جدولة المهام المتطورة تخزين Azure MSSQL Netherite
حالة الدعم الرسمية ✅ متوفرة بشكل عام (GA) ✅ متوفرة بشكل عام (GA) ✅ متوفرة بشكل عام (GA) ✅ متوفرة بشكل عام (GA)
التبعيات الخارجية غير متوفر تخزين Azure account (عام الغرض v1) SQL Server 2019 أو قاعدة بيانات Azure SQL مراكز أحداث Azure
حساب تخزين Azure (الأغراض العامة)
خيارات التطوير والمحاكاة المحلية محاكي جدولة المهام الدائم Azurite v3.12+ (عبر نظام أساسي) SQL Server إصدار المطورين (يدعم Windows، Linux، وDocker containers) يدعم المحاكاة داخل الذاكرة لمراكز المهام (مزيد من المعلومات)
تكوين مركز المهام واضح واضح ضمني بشكل افتراضي (مزيد من المعلومات) واضح
الحد الأقصى للإنتاجية مرتفع جدًا متوسط متوسط مرتفع جدًا
الحد الأقصى لتوسيع نطاق التنسيق/الكيان (العقد) غير متوفر 16 غير متوفر 32
الحد الأقصى لتوسيع نطاق النشاط (العقد) غير متوفر غير متوفر غير متوفر 32
دعم الكيانات الدائمة ✅ مدعوم بالكامل ✅ مدعوم بالكامل ️ مدعوم إلا عند استخدام .NET معزول ✅ مدعوم بالكامل
دعم تحجيم KEDA 2.0
(مزيد من المعلومات)
قريباً! ❌ غير مدعوم ✅ مدعوم باستخدام مقياس MSSQL (مزيد من المعلومات) ❌ غير مدعوم
دعم حزم امتدادات (موصى به للتطبيقات غير .NET) قريباً! ✅ مدعوم بالكامل ✅ مدعوم بالكامل ✅ مدعوم بالكامل
هل أداء السعر قابل للتكوين؟ قريباً! ❌ لا ✅نعم (SQL vCPUs) ✅ نعم (وحدات TUs وCUs لمراكز الأحداث)
دعم البيئة غير المتصلة ❌ Azure الاتصال المطلوب ❌ Azure الاتصال المطلوب ✅ مدعوم بالكامل ❌ Azure الاتصال المطلوب
الاتصالات المستندة إلى الهوية ✅ مدعوم بالكامل ✅ مدعوم بالكامل يتطلب ⚠تحجيم يستند إلى وقت التشغيل ❌ غير مدعوم
<خطة استهلاك مرنة> ✅ مدعوم بالكامل ✅ معتمد بالكامل (راجع الملاحظات) ✅ مدعوم بالكامل ❌ غير مدعوم

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