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

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

المزامنة وSentinel والتحويل عند الفشل

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

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

أهداف الدرس

  • شرح المزامنة غير المتزامنة واكتشاف Sentinel.
  • تمييز تقليل الخطر بالإقرار عن الاتساق القوي.

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

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

اقرأ دليل المزامنة دون تغيير البنية

INFO replication نمط فحص لجلسة تدريب مصرح لها ويعرض الدور والاتصال والتقدم وفق المنح والإصدار. لا تنفيذ أو خرج مختلق. لا تثبت العينة وجود حدث معين أو قرصاً دائماً. اربط التقدم بالهوية والاستمرار وقد تعرض الإدارة مقاييس أخرى أو تقيده؛ اتبع واجهتها لا التجاوز.

redis فحص مزامنة توضيحي غير قابل للتشغيل
INFO replication

المتوقع بيانات وصفية لا حالة سليمة ثابتة، وتحتاج الحقول والقيم دليل الإصدار.

تنسق Sentinel الاكتشاف والترقية لا التجزئة

تراقب Sentinel الأصل والنسخ وتنسق التحويل وتعلن الكاتب لعميل متوافق. يختلف النصاب وتفويض الترقية ولا يصلح رقم كشف واحد للجميع. تحتاج مشاركين مستقلين ووصولاً ومصادقة. قد يفشل العميل المثبت على القديم أو يصل لدور خاطئ. لا توزع المفاتيح أو تحمي كل أثر قديم؛ صمم التطبيق للفشل الفعلي.

نمذج النسخ المقرة كادعاء محدود

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

python عد تقدم نسخة محلياً
write_position = 20
replicas = {'replica-a': 20, 'replica-b': 18}
acknowledged = [name for name, position in replicas.items() if position >= write_position]
assert acknowledged == ['replica-a']
assert len(acknowledged) == 1

بلغت نسخة نموذجية20 دون إثبات قرص أو انتخاب أو إقرار Redis فعلي.

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

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

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

تفتقد المرقاة كتابة مقرة

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

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

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

تقدم WAIT كإجماع قوي

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

اختبر فهمك

1. تقر نسختان الكتابة. هل يستحيل فقدها؟

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

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

2. هل تعالج Sentinel توزيع مفتاح ساخن؟

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

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

أهم ما تعلمته

  • للمزامنة والاكتشاف والاستمرار حدود مختلفة.
  • صالح الكتابة المجهولة واختبر سلطة الكاتب عند الفشل.

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