مشاركة عبر


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

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

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

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

ملحوظة

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

تدعم مجموعات تطوير المهام المتينة Azure ><جدولة المهام المتطورة المدارة كمزود تخزين.

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

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

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

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

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

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

تخزين Azure

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

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

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

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

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

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

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

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

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

Netherite

ملحوظة

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

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

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

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

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

مقارنة موفري التخزين

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

الميزة جدولة المهام المتطورة تخزين Azure MSSQL Netherite
حالة الدعم الرسمية ✅ متوفرة بشكل عام (GA) ✅ متوفرة بشكل عام (GA) ✅ متوفرة بشكل عام (GA) ✅ متوفرة بشكل عام (GA)
التبعيات الخارجية غير متوفر Azure Storage account (عام الغرض v1) SQL Server 2019 أو Azure SQL Database Azure Event Hubs
حساب Azure Storage (الأغراض العامة)
خيارات التطوير والمحاكاة المحلية محاكي جدولة المهام الدائم 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 الاتصال المطلوب
الاتصالات المستندة إلى الهوية ✅ مدعوم بالكامل ✅ مدعوم بالكامل يتطلب ⚠تحجيم يستند إلى وقت التشغيل ❌ غير مدعوم
<خطة استهلاك مرنة> ✅ مدعوم بالكامل ✅ معتمد بالكامل (راجع الملاحظات) ✅ مدعوم بالكامل ❌ غير مدعوم

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