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

DevOps / المتوسط: أنظمة تسليم مضبوطة / الدرس 11

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

حدد أهداف الاستعادة واحم النسخ المتسقة وتحقق من الاستعادة قدرة ظاهرة للمستخدم.

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

أهداف الدرس

  • حدد أهداف النقطة والزمن والاتساق.
  • تحقق من البيانات والآثار الخارجية المستعادة.
  • خطط الوصول والترتيب وتجارب الاستعادة.

البدء بهدف الفقد والزمن

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

yaml اتفاق استعادة اصطناعي
service: training-bookings
rpo_minutes: 15
rto_minutes: 60
consistency_scope: bookings-and-payment-reference-ledger
restore_location: isolated-lab
external_effects: disabled
verification: integrity-and-selected-user-journeys

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

حفظ نسخ متسقة ومستقلة

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

التحقق من المحتوى والمعنى منفصلين

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

python محاكاة غير مؤذية لقيد الاستعادة
import json
original = {"bookings": [{"id": 1, "seats": 2}, {"id": 2, "seats": 3}]}
copy_bytes = json.dumps(original, sort_keys=True).encode()
restored = json.loads(copy_bytes)
assert len({row["id"] for row in restored["bookings"]}) == 2
print(sum(row["seats"] for row in restored["bookings"]))
الناتج المتوقع
5

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

تجربة التسلسل والوصول

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

التسوية والتعلم بعد الاستعادة

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

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

يُعد التماثل نسخة احتياطية

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

الأرشيف سليم والخدمة غير متسقة

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

لا يصل فريق الاستعادة إلى المفتاح

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

اختبر فهمك

1. تعمل النسخ كل ساعة لكن أحدث نسخة صالحة قبل ثلاث ساعات. ما دليل RPO؟

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

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

2. تسبق القاعدة المستعادة دفعا مقبولا بعيدا. ماذا قبل إعادة الكتابة؟

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

سو مرجع الدفع والعملية بالسجل ومنع التكرار المعتمدين. لا تعِد الخصم عمياء. افحص الملكية والدليل والاتساق قبل التفعيل؛ فاستعادة البيانات والآثار الخارجية التزامان منفصلان.

أهم ما تعلمته

  • يصف RPO فترة فقد البيانات المقبولة، ويصف RTO مدة الاستعادة المقبولة بشروط محددة.
  • تكشف البصمات تغير البايتات لكن اتساق التطبيق يحتاج دليلا آخر.
  • قد تعيد الاستعادة السجلات المحلية للخلف بينما تحفظ الأنظمة الخارجية معاملات أحدث.

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