برمجة

Redis Streams: استرد رسالة معلقة بـ XAUTOCLAIM دون تكرار الأثر

فريق فايندو جروب2 دقائق قراءة0 مشاهدة0 تعليقات
مشاركة:
لوحة تشخيص Redis Streams تعرض نقل رسالة معلقة إلى مستهلك آخر

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

ميّز الرسالة الجديدة عن المعلقة

رسالة قُرئت ضمن مجموعة ولم يُرسل لها XACK تبقى معلقة لدى المجموعة. يمكن لـ XAUTOCLAIM نقل ملكية الرسائل المعلقة التي تجاوزت حد الخمول إلى مستهلك آخر. هذا الحد ليس حكمًا بأن المستهلك الأول مات؛ قد يكون لا يزال يعمل ببطء.

المرجع: Redis XAUTOCLAIM.

أعد تمثيل التوقف في موضعين

أنشئ مجموعة اختبار واقرأ رسالة باستخدام العامل A، ثم أوقفه قبل كتابة أثرها. بعد مدة الاختبار، استخدم العامل B للاسترداد وتحقق أن الرسالة نُقلت وعولجت ثم أُقر بها. في التجربة الثانية، أوقف A بعد كتابة الأثر وقبل الإقرار. ينبغي أن يكتشف B أن الأثر محفوظ وأن يسجل الإقرار دون تكرار الكتابة.

أكمل المسح بالمؤشر الراجع

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

سلم دليل استرداد واضح

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

لربط الاختبار بتنفيذ مشروعك، راجع الصيانة التقنية وتطوير أنظمة الشركات.

صورة توضيحية أصلية لشرح الفكرة، وليست لقطة نظام عميل أو نتيجة قياس فعلية.

التصنيفات:برمجة
شارك:

التعليقات

لا توجد تعليقات بعد

أضف تعليقك

كن أول من يعلق على هذا المقال

02 · تابع القراءة

مقالات ذات صلة