DevOps / المتقدم: الموثوقية والثقة والحوكمة / الدرس 13
الطرح الموثوق وتطور البيانات
نسق تغييرات التطبيق والمخطط والرسائل والإعداد لتبقى الاستعادة ممكنة أثناء اختلاط الإصدارات.
في هذه الصفحة
أهداف الدرس
- نمذج توافق الإصدارات خلال المراحل.
- خطط ترحيلا محدودا وتقليصا مؤجلا.
- اختر الرجوع أو الإصلاح وفق الحالة.
نمذجة الإصدار كبروتوكول
الإصدار الموثوق تسلسل انتقالات متوافقة لا أمر ذري لكل المكونات. تتغير النسخ والمخطط والرسائل والمخازن والإعداد في أزمنة مختلفة. حدد التركيبات الممكنة ومالك الانتقال. تظهر المصفوفة الأولى التداخل. لا تثبت وظيفة ناجحة سلامة التركيبات. راجع الكتابة كالقراءة لأن البيانات الجديدة قد تمنع استعادة الشيفرة القديمة. وضح النقطة التي يصبح بعدها الإصلاح الأمامي أفضل من الرجوع.
combination allowed
old app + expanded schema yes, after compatibility tests
new app + expanded schema yes, after compatibility tests
old app + contracted schema no
new app + unverified backfill no promotion
تصف المصفوفة عقدا تعليميا محددا لا سلوك كل القواعد. يوضح التركيب الممنوع ضرورة تأجيل التقليص.
التوسيع قبل التقليص
يضيف التوسيع والتقليص بنية متوافقة وينقل القراء والكتاب ثم يتحقق من التبني ويحذف القديم لاحقا. قد تلائم إضافة حقل اختياري بينما لا تلائم إعادة تسمية مطلوب فورا. يحتاج الملء الخلفي دفعات محدودة واستئنافا وتقدما وسياسة كتابة متزامنة. لا تفترض اتساق الكتابة المزدوجة لنجاح الاستدعاءين عادة؛ فالفشل الجزئي يحتاج تسوية أو معاملة. أخر الحذف حتى تستغني النسخ والمستهلكون والاستعادة عن القديم.
تنسيق الترتيب والملكية
يصف السجل الثاني ترحيلا مرحليا لا أوامر قاعدة تنفيذية. يسبق دليل التوافق التعرض والتنظيف. سم مالكا ونسق العمليات المتعارضة وتحقق من البيئة والمراجعة. قد تقفل DDL أو تعيد كتابة بنى كبيرة حسب المحرك والإصدار؛ فراجع الدلالات واختبر بيانات ممثلة في عزلة مصرح بها. لا تثبت المهلة تثبيت الترحيل أو عدمه. احفظ الدليل وافحص الواقع قبل تكرار عمل قد يتكرر أثره.
phases:
- expand-compatible-schema
- deploy-compatible-readers-and-writers
- backfill-bounded-resumable-batches
- verify-invariants-and-consumer-adoption
- retire-old-contract-after-recovery-review
abort_on: integrity-or-compatibility-failure
تحتاج كل مرحلة إلى دليل ومالك. لا يصدر السجل SQL أوترحيلا أو نشرا أو تعديلا.
معالجة الطلبات خلال الانتقال
توقف النسخة المنهية القبول وتصرف العمل ضمن سماح المنصة. قد تعاد الرسائل والمحاولات وتستمر الاتصالات خلال التحويل. صمم منع التكرار وإصدار المخطط ولا تتوقع استنتاج المنصة لهما. اربط الإصدار بتغير الفشل وأوقف التوسع عند ضرر البيانات أو الشرائح المهمة. تحقق من الحزمة السابقة مقابل الإعداد والبيانات الحالية عند الرجوع. لا يعكس نقل الحركة الرسائل أو المعاملات البعيدة.
إثبات الاكتمال وحفظ دليل الاستعادة
يتطلب الاكتمال انتقال كل قارئ وكاتب واجتياز الملء قيوده وعدم احتياج مستهلك قديم للعقد. راقب فترة مناسبة قبل التنظيف الهدام واحتفظ باستعادة متحقق منها. حدّث الأدلة والتوافق بالحالة النهائية. ميّز التجربة الصغيرة من إثبات حجم الإنتاج أو مدة القفل. تأتي الموثوقية من فهم الانتقالات وقياسها والتوقف عند انهيار الافتراضات، لا من تعليمات رجوع عامة ملصقة بكل أنبوب.
الأخطاء الشائعة وإصلاحها
يعجز الرجوع عن قراءة البيانات الجديدة
- لماذا يحدث؟
- تغيرت الكتابات دون توافق أثناء التعرض.
- كيف تصلحه؟
- استخدم التسوية أو الإصلاح الأمامي المراجعين.
- كيف تتجنب تكراره؟
- اختبر القراء السابقين ببيانات الانتقال.
يتنافس الملء مع الكتابة الحية
- لماذا يحدث؟
- لم تحدد الدفعات والترتيب ودلالات التزامن.
- كيف تصلحه؟
- أوقف وفق السياسة وسو بقيود صريحة.
- كيف تتجنب تكراره؟
- صمم الاستئناف والكتابة المتزامنة قبل التنفيذ.
يُنفذ ترحيل منتهي المهلة مرتين
- لماذا يحدث؟
- افتُرض أن المهلة تعني عدم التثبيت.
- كيف تصلحه؟
- افحص المخطط والدليل قبل المحاولة.
- كيف تتجنب تكراره؟
- وضح ملكية الترحيل وسجل اكتماله.
اختبر فهمك
1. يستبدل حقل جديد حقلا مطلوبا قديما. رتب انتقالا متوافقا.
اعرض الحل المشروح
أضف تخزينا متوافقا وشيفرة تتحمل الصيغتين، وانقل البيانات بعمل محدود مستأنف، وافحص التبني والقيود، ثم أزل الاستخدام والقديم بعد مراجعة الاستعادة. تتبع قواعد القراءة والكتابة ضمانات التطبيق والقاعدة.
2. هل تجعل سعة الأزرق والأخضر مخططا مشتركا غير متوافق آمنا؟
اعرض الحل المشروح
لا. قد تقرأ البيئتان وتكتبان المخطط نفسه وقد تعود الشيفرة القديمة للاستعادة. لا توفر السعة المنفصلة توافق البيانات. راجع الحالة والآثار غير القابلة للعكس مستقلة قبل تقرير عكس التوجيه.
أهم ما تعلمته
- الإصدار الموثوق تسلسل انتقالات متوافقة لا أمر ذري لكل المكونات.
- يصف السجل الثاني ترحيلا مرحليا لا أوامر قاعدة تنفيذية.
- يتطلب الاكتمال انتقال كل قارئ وكاتب واجتياز الملء قيوده وعدم احتياج مستهلك قديم للعقد.