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

Redis / المتقدم: الاستمرار والتوزيع والتشغيل / الدرس 18

التعافي والتطور وموثوقية الإصدار

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

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

أهداف الدرس

  • تصميم الإصدار والترحيل المحدود ودليل التقارب.
  • التحقق من الاستعادة والعميل والكاتب قبل الإصدار.

ثبت افتراض الدعم ومنتج الخدمة

يراجع المقرر8.2 الممتدة بوثائق25-10-2026 ويسم الحديث. تختلف الإصدارات والدورة للمنتجات وقد تقيد الإدارة التوافق. تحقق من التصحيح والدعم والعميل قبل الترقية. لا يثبت البرنامج أو الفحص الأخضر المفتاح والمنح والاستعادة والإعادة. لا نشر أو إعداد أو ترحيل أو أمر حي هنا.

وسع التوافق قبل تحويل مرجعية المفتاح

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

json خطة انتقال توافق غير تنفيذية
{
  "keyFamily": "lab:profile",
  "oldVersion": 1,
  "newVersion": 2,
  "readerPolicy": "accept-known-versions-during-overlap",
  "fallback": "bounded-authoritative-load",
  "retirementGate": "verified-convergence-and-consumer-readiness",
  "productionTarget": false
}

لا ينشئ مفاتيح أو نشراً؛ البوابة متطلب لا دليل جاهزية.

اختر البناء أو الاستعادة من عقد المرجعية

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

افحص توافق الإصدارات المعلومة صراحة

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

python حالات توافق محلية لإصدارات مختلطة
def compatible(value):
    if value.get('version') == 1:
        return 'name' in value
    if value.get('version') == 2:
        return 'display_name' in value
    return False

assert compatible({'version': 1, 'name': 'Lina'})
assert compatible({'version': 2, 'display_name': 'Lina'})
assert not compatible({'version': 2, 'name': 'Lina'})
assert not compatible({'version': 3, 'display_name': 'Lina'})

ينجح الكاملان ويرفض الناقص والمجهول دون قراءة خادم أو نقل أو حذف.

حدد آخر رجوع آمن وسياسة كاتب واحدة

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

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

تحذف بادئة كاستراتيجية ترحيل عامة

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

يسيء القديم قراءة الصيغة الجديدة

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

يسقط الرجوع كتابة الوجهة الخاصة

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

اختبر فهمك

1. تنجح الصيغة وتبرد كل المفاتيح. ماذا يشمل التحقق؟

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

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

2. لماذا لا يكفي عنوان الأمس رجوعاً لمعالجة تدفق مرجعي؟

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

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

أهم ما تعلمته

  • يتبع الترحيل والتعافي المرجعية والدورة.
  • يحتاج التوافق والحمل البارد والكاتب أدلة منفصلة.

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