فواتير Durable Functions
تتم فوترة Durable Functions بنفس الطريقة التي تتم بها فوترة Azure Functions. للحصول على مزيدٍ من المعلومات، راجع تسعير Azure Functions.
عند تنفيذ وظائف المنسق في خطة استهلاك وظائف Azure، يجب أن تكون على دراية ببعض سلوكيات الفوترة. توضح الأقسام التالية هذه السلوكيات، ومدى تأثيرها بمزيدٍ من التفصيل.
فواتير إعادة تشغيل دوال المنسق
قد تتم إعادة تشغيل دالات المنسق عدة مرات طوال مدة تزامن. يتم عرض كل إعادة تشغيل بواسطة وقت تشغيل Azure Functions كاستدعاء للدالة المميزة. ولهذا السبب، يتم فوترتك في Azure Functions Consumption plan لكل إعادة تشغيل لدالة منسق. لا تفرض أنواع الخطط الأخرى رسومًا على إعادة تشغيل دوال المنسق.
الانتظار والتسلم في دوال المنسق
عندما تنتظر وظيفة منسق حتى تكتمل مهمة غير متزامنة، يعتبر وقت التشغيل أن استدعاء الوظيفة المعينة قد انتهى. وتتوقف الفواتير لدالة المنسق عند هذا الحد. ولا يتم استئنافها حتى إعادة تشغيل دالة المنسق التالية. ولا يصدر لك أي فواتير على أي وقت تقضيه في الانتظار أو التسلم في دالة منسق.
إشعار
يعتبر البعض أن الوظائف التي تستدعي وظائف أخرى هي نمط مضاد بلا خادم. هذا بسبب مشكلة تعرف باسم الفوترة المزدوجة. فعند اتصال دالة بدالة غيرها مباشرة، يتم تشغيل كليهما في نفس الوقت. وتشغل الدالة التي الاتصال بها التعليمات البرمجية بشكل نشط في حين تنتظر الدالة المتصلة الحصول على استجابة. وفي هذه الحالة، يجب عليك دفع ثمن الوقت الذي تقضيه الدالة المتصلة وهي في انتظار تشغيل الدالة التي تم الاتصال بها.
لا يوجد فواتير مزدوجة في دوال المنسق. تتوقف فواتير دوال المنسق عند انتظارها نتيجة دالة نشاط أو منسق فرعي.
استطلاع HTTP الدائم
يمكن لوظائف المنسق إجراء استدعاءات HTTP طويلة الأمد إلى نقاط النهاية الخارجية كما هو موضح في مقالة ميزات HTTP. قد تقوم واجهات برمجة التطبيقات "استدعاء HTTP" باستقصاء نقطة نهاية HTTP داخليا أثناء اتباع نمط 202 غير المتزامن.
لا يصدر حاليًا فواتير مباشرة لعمليات استطلاع HTTP الداخلية. ورغم ذلك، قد يؤدي الاستطلاع الداخلي إلى تشغيل دالة المنسق بشكل دوري. وسيُفرض عليك الرسوم القياسية لعمليات إعادة تشغيل الدوال الداخلية هذه.
معاملات Azure Storage
Durable Functions تستخدم Azure Storage افتراضيًا للحفاظ على استمرار الحالة ومعالجة الرسائل وإدارة الأقسام عبر عقود إيجار الكائنات الثنائية كبيرة الحجم. ونظرًا لامتلاكك حساب التخزين هذا، سيصدر لك فواتير لأي تكاليف معاملة لاشتراك Azure. لمزيد من المعلومات حول البيانات الاصطناعية ل Azure Storage المستخدمة من قبل Durable Functions، راجع مقالة مراكز المهام.
تساهم عدة عوامل في تكاليف Azure Storage الفعلية التي يتكبدها تطبيق Durable Functions:
- يقترن تطبيق دوال فردي بموزع مهام فردي، والذي يشارك مجموعة من موارد Azure Storage. وتستخدم كافة الدوال الدائمة هذه الموارد في تطبيق الدوال. لا يؤثر العدد الفعلي للدوال في تطبيق الدوال على تكاليف معاملات Azure Storage.
- يستطلع كل مثيل تطبيق دالة قوائم انتظار متعددة في حساب التخزين داخليًا باستخدام خوارزمية استطلاع التراجع الأسي. ويجري مثيل التطبيق الخامل استطلاعات لقوائم الانتظار بشكل أقل مما يقوم به التطبيق النشط؛ وهو ما يؤدي إلى انخفاض تكاليف المعاملات. لمزيد من المعلومات حول سلوك التحقق من قائمة انتظار Durable Functions عند استخدام موفر Azure Storage، راجع قسم التحقق من قائمة الانتظار في وثائق موفر Azure Storage.
- عند التشغيل في خطط استهلاك Azure Functions أو Premium، تقوم وحدة تحكم مقياس Azure Functions باستطلاع جميع قوائم انتظار مركز المهام في الخلفية بانتظام. وإذا كان تطبيق الدوال ضمن مقياس خفيف إلى متوسط، فلن يقوم سوى مثيل وحدة تحكم مقياس واحد باستطلاع قوائم الانتظار هذه. وإذا كان تطبيق الدوال يتدرج إلى عدد كبير من المثيلات، فقد تتم إضافة مثيلات وحدة تحكم مقياس أكبر. يمكن أن تزيد مثيلات وحدة تحكم المقياس الإضافية هذه من إجمالي تكاليف معاملات قائمة الانتظار.
- ويتنافس كل مثيل في تطبيق الدوال على مجموعة من عقود إيجار الكائنات الثنائية كبيرة الحجم. ستجري هذه المثيلات اتصالات بشكل دوري مع خدمة Azure Blob؛ إما لتجديد عقد الإيجار، أو لمحاولة الحصول على عقود إيجار جديدة. يحدد عدد الأقسام المُكَوَّنة لموزع المهام عدد عقود إيجار الكائنات الثنائية كبيرة الحجم. من المحتمل أن يؤدي التوسع إلى عدد أكبر من مثيلات تطبيق الدوال إلى زيادة تكاليف معاملات Azure Storage المرتبطة بعمليات التأجير هذه.
يمكنك العثور على مزيد من المعلومات حول تسعير Azure Storage في وثائق تسعير Azure Storage.