محتويات الدورة

Apache Airflow / المتقدم: المعالجة التاريخية والنشر وأدلة التعافي / الدرس 18

توافق الترقية وتصميم التعافي

مراجعة انتقال الإصدارات ومتطلبات الاستعادة بعقود صريحة بدلاً من وصفات تشغيل غير مختبرة.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تحديد حدود توافق النواة وTask SDK والمزود والبيئة.
  • تعريف قبول التعافي للبيانات الوصفية وآثار العمل.

لا تصف تسمية إصدار واحدة النشر

يشمل نشر Airflow خدمات النواة وسلوك Task SDK وحزم المزودات وبيئة Python وشفرة DAG أو الحزمة والأنظمة الخارجية. راجع التوافق بين هذه الحدود، ولا تستنتجه من رقم Airflow واحد. يغير Airflow 3 وصول المهام للبيانات الوصفية واستيرادات التأليف وافتراضيات الجدولة مقارنة بالأمثلة الأقدم. أساس 3.1.0 المختار تعليمي، لا بيان عن أحدث نسخة فرعية أو الدعم الحالي. احفظ جرد الإصدارات الدقيقة والميزات التجريبية المفعلة قبل التغيير. قد ينجح استيراد DAG في بيئة ثم يفشل العامل إذا حل مزودات أو دلالات سياق مختلفة.

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

يلزم استخدام airflow.sdk لواجهة التأليف العامة، لكنه لا يرحل سلوك العمل وحده. راجع schedule الموحد، وجداول لحظة التحفيز مقابل فترات البيانات، والسياقات اليدوية أو المحفزة بأصل التي تفتقد مفاتيح الفترة، وسلامة مخرجات الإعادة. لا تكافئ إعدادات SLA القديمة تنبيهات Deadline Alerts التجريبية في 3.1، ويلزم فحص دعم callbacks فيها. تتطور المزودات مستقلة أيضاً، وقد تغير خيارات الاتصال أو سلوك المشغلات وفق سياساتها. ابن بيانات اختبار حول المدخلات والمخرجات المقبولة فعلياً، وقارن السلوك السابق والمرشح قبل إجراء نشر مستقل مصرح به.

تعافي التنسيق وتعافي البيانات مختلفان

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

إدراج التحقق في ساعة التعافي

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

python حساب محلي لغلاف التعافي
detect_min = 3
restore_min = 12
validate_min = 5
recovery_budget_min = detect_min + restore_min + validate_min
assert recovery_budget_min == 20
print(recovery_budget_min)
الناتج المتوقع
20

العشرون دقيقة ميزانية معلنة تشمل القبول وليست أداء استعادة مقاساً.

json جرد مراجعة توافق اصطناعي
{"core_baseline":"3.1.0","task_sdk":"review-exact-version","providers":"review-exact-pins","dag_bundle":"lab-report-v3","required_checks":["interval-context","retry-output","provider-imports","artifact-coverage"]}

تحدد التسميات أدلة النشر اللازمة ولا تدعي توافق حزم مثبتة.

الانتهاء بقبول تجاري قابل للرصد

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

الأخطاء الشائعة وإصلاحها

اعتبار تغيير الاستيرادات ترحيلاً كاملاً إلى Airflow 3.

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

افتراض استعادة الآثار كلها باستعادة التنسيق.

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

افتراض عكس كل أثر بتخفيض الحزمة.

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

اختبر فهمك

1. هل يثبت بدء خادم API بنجاح اكتمال التقارير بعد الاستعادة؟

اعرض الحل المشروح

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

2. لماذا ينبغي إدراج الميزات التجريبية في جرد التوافق؟

اعرض الحل المشروح

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

أهم ما تعلمته

  • يجب أن يشمل الجرد السلوك والمزود والبيئة.
  • ينتهي التعافي بتغطية مقبولة واستئناف آمن.

المراجع الرسمية