الموثوقية في Azure Stream Analytics

Azure Stream Analytics هي خدمة عالية المرونة تعالج وتحلل البيانات المتدفقة من مصادر متعددة في نفس الوقت. توفر تحليلات التدفق المعلومات التي يمكنك استخدامها لبناء خطوط معالجة أحداث معقدة باستخدام استعلامات شبيهة ب SQL.

عند استخدام Azure، تعد الموثوقية مسؤولية مشتركة. توفر Microsoft مجموعة من الإمكانات لدعم المرونة والاسترداد. أنت مسؤول عن فهم كيفية عمل هذه الإمكانات في جميع الخدمات التي تستخدمها، وتحديد الإمكانات التي تحتاجها لتحقيق أهداف عملك وأهداف وقت التشغيل.

تصف هذه المقالة كيف أن Stream Analytics مرنة أمام المشاكل المحتملة مثل الأعطال المؤقتة وانقطاعات مناطق التوفر. يقدم إرشادات حول كيفية حماية الوظائف الحيوية من انقطاعات المناطق وصيانة الخدمات. كما يسلط الضوء على معلومات رئيسية حول اتفاقية مستوى الخدمة (SLA) لتحليلات الجريمة.

مهم

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

توصيات نشر الإنتاج

لضمان موثوقية عالية في بيئات الإنتاج التي تستخدم تحليلات التدفق، نوصي باتخاذ الإجراءات التالية:

  • استخدم المناطق التي تدعم مناطق التوفر. قم بنشر وظائف البث والموارد الأخرى في المناطق التي تدعم مناطق التوفر.
  • نشر القدرة الكافية. اضبط وحدات البث (SUs) بناء على معدل النقل المتوقع والقدرة الإضافية للتعامل مع الأحمال القصوى. أضف مخزونا إضافيا فوق متطلباتك الأساسية للتعامل مع الزيادات المفاجئة.
  • راقب الصحة. تنفيذ مراقبة شاملة باستخدام مقاييس Azure Monitor وسجلات التشخيص لتتبع صحة الوظيفة، وأحداث الإدخال والمخرجات، واستخدام الموارد. قم بإعداد تنبيهات للمقاييس الحرجة مثل تأخير العلامات المائية وأخطاء وقت التشغيل لاكتشاف المشاكل قبل أن تؤثر على معالجة البيانات. لمزيد من المعلومات، راجع مراقبة تحليلات التدفق.
  • تنفيذ التكرار متعدد المستويات لأحمال العمل الحرجة للمهام. نشر وظائف تحليلات التدفق المتطابقة عبر عدة مناطق. تكرار تكويناتهم وضمان توجيه البيانات المناسب لتحقيق المرونة الإقليمية. لا يوفر Stream Analytics النسخ المتماثل الأصلي متعدد المواقع، ولكن هذا الأسلوب يتيح تجاوز الفشل والاستمرارية. لمزيد من المعلومات، راجع حلول مخصصة متعددة المستويات للمرونة.

نظرة عامة على بنية الموثوقية

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

البنية المنطقية

الوظيفة هي الوحدة الأساسية في تحليلات التدفق التي تتيح لك تحديد وتشغيل منطق معالجة التدفق الخاص بك. تتكون الوظيفة من المكونات الرئيسية التالية:

  • مدخلات تقرأ بيانات التدفق من مصادر البيانات مثل مراكز أحداث Azure، Azure IoT Hub، أو تخزين Azure.
  • استعلام يعالج ويحول البيانات.
  • مخرجات تكتب نتائج باستمرار إلى وجهات مختلفة، مثل قاعدة بيانات Azure SQL، Azure Data Lake Storage، Azure Cosmos DB، وPower BI.

لمزيد من المعلومات، راجع نموذج موارد تحليلات التدفق.

العمارة المادية

تحقق تحليلات التدفق موثوقية عالية من خلال تطبيق طبقات متعددة من المرونة لتقليل المشكلات في البنية التحتية الأساسية ومصادر بيانات الإدخال والإخراج. المكونات التالية تساعد في ضمان سير عملك بقوة:

  • عقد العاملة: وظائف تحليلات التدفق تعمل ضمن عنقود. تعرف الآلات الافتراضية (VMs) داخل العنقود باسم عقد العامل. عندما تستخدم وحدات التخزين القياسية أو القياسية V2، تعمل مهامك على مجموعات مشتركة. عندما تستخدم وحدة تخزين الخصيص، تعمل مهامك على مجموعة مخصصة خاصة بها.

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

  • SUs: تمثل وحدات SU الموارد الحاسوبية التي تدير المهمة. كلما زاد عدد وحدات الاستخدام، زادت الموارد الحاسوبية التي تخصص للمهمة. تدير المنصة عقد العمال وتوزيع الوظائف بين العقد العاملة، لكنك مسؤول عن تخصيص وحدات الموظفين للوظائف. لمزيد من المعلومات، راجع فهم وتعديل أنظمة تحليل التدفق.

  • نقاط التفتيش: تحافظ Stream Analytics على حالة الوظيفة من خلال التحقق المنتظم من الوضع. تساعد نقاط التحقق الوظائف الفاشلة على التعافي السريع مع تقليل إعادة معالجة البيانات، حتى للوظائف التي تستخدم منطق الاستعلام الوضعي.

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

ملحوظة

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

المرونة في مواجهة الأعطال العابرة

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

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

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

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

المرونة في مواجهة حالات فشل منطقة التوفر

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

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

عندما تنشئ وظيفة تحليلات التدفق في منطقة مفعلة للمنطقة، تقوم الخدمة بتوزيع موارد الحوسبة الخاصة بوظيفتك عبر عدة مناطق توافر.

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

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

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

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

متطلبات

  • دعم المنطقة: يتم دعم التكرار في المناطق لموارد تحليلات التدفق في أي منطقة تدعم مناطق التوفر. للاطلاع على القائمة الكاملة للمناطق التي تدعم مناطق التوافر، راجع قائمة مناطق Azure.
  • متطلبات SKU: التكرار في المناطق متاح في جميع وحدات تحليل التدفق.

Cost

التكرار المنطقي في Stream Analytics لا يفرض رسوما إضافية. تدفع نفس السعر لوحدات SU سواء كانت وظيفتك تعمل بتكوين تكرار منطقة أو في تكوين غير متكرر للمنطقة. لمزيد من المعلومات، راجع تسعير تحليلات التدفق.

تكوين دعم منطقة التوفر

السلوك عندما تكون جميع المناطق صحية

يصف هذا القسم ما يمكن توقعه عندما تكون وظائف تحليلات التدفق زائدة عن الحاجة للمناطق وتكون جميع مناطق التوفر عاملة.

  • توجيه حركة المرور بين المناطق: تقوم Stream Analytics بتشغيل كل مهمة على عقد العمال. قد يعالج العاملون في أي منطقة بيانات البث الواردة. تستخدم الخدمة توازن الأحمال الداخلي لتوزيع مهام المعالجة عبر المناطق.

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

السلوك أثناء فشل المنطقة

يصف هذا القسم ما يمكن توقعه عندما تكون وظائف تحليلات البث زائدة عن الحاجة إلى المناطق ويحدث انقطاع في منطقة التوفر.

  • الكشف والاستجابة: منصة تحليلات التدفق مسؤولة عن اكتشاف الفشل في منطقة توفر والاستجابة له. تصنف Stream Analytics العمال في المنطقة الفاشلة على أنهم غير صحيين وتعيد توزيع الوظائف تلقائيا للعمال في المناطق الصحية المتبقية. لا تحتاج إلى القيام بأي شيء لبدء تجاوز فشل المنطقة.
  • الإعلام: لا تقوم Microsoft بإعلامك تلقائيا عندما تكون المنطقة معطلة. ومع ذلك، يمكنك استخدام Azure Resource Health لمراقبة صحة كل مورد على حدة، ويمكنك إعداد تنبيهات Resource Health لإبلاغك بالمشاكل. يمكنك أيضا استخدام حالة خدمة Azure لفهم الصحة العامة للخدمة، بما في ذلك أي أعطال في المناطق، ويمكنك إعداد تنبيهات صحة الخدمة لإبلاغك بالمشاكل.
  • الطلبات النشطة: تحليل التدفق ينقل الوظائف التشغيلية إلى عامل آخر في منطقة توفر صحية.

    تستخدم تحليلات التدفق نقاط التحقق للحفاظ على حالة المعالجة. خلال فشل المنطقة، يقوم العمال في المناطق الصحية بإعادة معالجة الوظائف التي تعمل في المنطقة الفاشلة تلقائيا من آخر نقطة تفتيش.

  • فقدان البيانات المتوقع: يضمن نظام نقاط التحقق من الوظائف عدم فقدان البيانات.

  • توقعت فترة التوقف المتوقعة: تستأنف الوظائف الجارية تلقائيا بعد أن تنقلها المنصة إلى عامل صحي.

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

استعادة المنطقة

عندما تتعافى منطقة التوفر الفاشلة، يقوم Stream Analytics بإعادة دمجها تلقائيا في مجموعة المعالجة النشطة. تبدأ الوظائف في استخدام البنية التحتية المستعادة.

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

اختبار فشل المنطقة

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

القدرة على الصمود في وجه الإخفاقات على مستوى المنطقة

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

حلول متعددة المستويات مخصصة للمرونة

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

النسخ الاحتياطي والاسترداد.

لا يحتوي Stream Analytics على ميزة النسخ الاحتياطي والاستعادة المدمجة.

إذا أردت نقل أو نسخ أو عمل نسخة احتياطية لتعريف وتكوين مهامك، يمكنك استخدام إضافة Stream Analytics لكود Visual Studio لتصدير وظيفة موجودة في سحابة Azure إلى جهاز الكمبيوتر المحلي الخاص بك. بعد حفظ كامل إعدادات وظائف تحليلات التدفق محليا، يمكنك نشرها في نفس المنطقة أو منطقة Azure أخرى. لمزيد من المعلومات، راجع نسخ، ونسخ احتياطي، ونقل وظائفك في تحليلات التدفق.

المرونة في صيانة الخدمة

تقوم Stream Analytics بصيانة تلقائية للمنصة لتطبيق تحديثات الأمان، ونشر ميزات جديدة، وتحسين موثوقية الخدمة. قد يقوم بنشر تحديثات الخدمة أسبوعيا أو بشكل أكثر تكرارا. تختبر Stream Analytics جميع التحديثات الجديدة لضمان جودة عالية.

ضع في اعتبارك النقاط التالية لضمان أن وظائفك مرنة لأنشطة صيانة الخدمة:

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

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

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

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

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

اتفاقية مستوى الخدمة

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

توفر تحليلات التدفق بيانات مستوى خدمة منفصلة لاستدعاءات واجهة برمجة التطبيقات لإدارة الوظائف وعمليات الوظائف.