RabbitMQ / المتوسط: العمل المنسوخ وسلامة المحاولات وأدلة التشغيل / الدرس 12
مراقبة الجاهز وغير المقر والضغط العكسي
تفسير مقاييس الصف عبر الملكية والمعدلات وحداثة العمل قبل تغيير السعة.
في هذه الصفحة
أهداف الدرس
- تمييز تراكم الجاهز من التسليم غير المقر والأثر المكتمل.
- ربط النمو بسلوك المستهلك وإنذارات الموارد.
يصف الجاهز وغير المقر حالتي مسؤولية مختلفتين
تنتظر رسائل ready التسليم، بينما سلمت unacked بإقرار يدوي وظلت معلقة. لا يحدد أي عدد وحده عدد أفعال العمل الفريدة غير المكتملة. قد يكمل العامل الأثر دون إقراره بعد، أو يقر مبكراً بينما يبقى العمل اللاحق. ولا يقيس عمق الصف العمر الزمني مباشرة. أضف حداثة عمل وعدد عمليات ثابتة حين يهم المستخدم تأخر التقرير أو تكرار الوظائف. عرف مصدر المقياس وفترة العينات صراحة، كي لا تقارن لقطات قديمة أو مضيفات غير مترابطة.
مقارنة الوافد المقبول بالإزالة
يبدأ الحساب بمئة رسالة ready اصطناعية، ويضيف ثمانين وافدة مقبولة ويزيل ستين سلمت وفق تسلسل مبسط عمداً؛ فيصبح التراكم 120. لا يحاكي تحرير الإقرار سعة التسليم أو الإعادة أو الانتهاء أو dead-letter، ويجب إدراجها في تفسير حساب حقيقي. قد يعكس نمو ready زيادة الوصول لا توقف المستهلك. وقد يعكس ارتفاع unacked طول المعالجة أو غياب الإقرار أو جلباً زائداً. تتبع انتقال المسؤولية المتعطل فعلاً قبل اعتبار مزيد من المستهلكين أو نافذة أكبر الحل.
ready_before = 100
accepted_arrivals = 80
delivered = 60
ready_after = ready_before + accepted_arrivals - delivered
assert ready_after == 120
print(ready_after)
120
يستبعد الإعادة والانتهاء والنقل الميت ولا يمثل محاسبة صف كاملة.
قد يكون الضغط العكسي حماية مقصودة
قد تحجب إنذارات الذاكرة والقرص اتصالات النشر لحماية الموارد. عتبة الذاكرة نقطة إنذار، لا ضمان صارم لعدم تجاوزها. يختلف التحكم بالتدفق وإنذار الموارد أيضاً عن فشل مفتاح توجيه. احفظ أدلة blocked/unblocked وتأخر التأكيد وإشارات العقدة واتجاه الاكتمال معاً. قد تزيل زيادة العتبة هامش الأمان دون علاج نمو التراكم. افصل سلوك اتصالات النشر والاستهلاك حيث يتطلب تصميم العميل، وراجع آثار الإنذار الموثقة للإصدار المنشور فعلاً.
تقدير التعافي من صافي سعة الاكتمال
للحساب الثاني تراكم 300، ووصول 50 في الثانية، واكتمال 65. مع ثبات عمل متقارب يصرف صافي 15 ويلحق في عشرين ثانية. إذا ساوى الوصول الاكتمال أو تجاوزه، فلا لحاق منته في النموذج. تحتاج التقديرات الحقيقية أحجاماً ومدداً وإعادة وتفاوت أقسام أو صفوف، لا متوسطاً واحداً. قد تشبع زيادة المستهلكين مزود الملصقات وتخفض الاكتمال الفعلي. استخدم النموذج لكشف الافتراضات قبل دراسة سعة مصرح بها، لا لإثبات إنتاجية RabbitMQ مقاسة أو وعد زمن تعاف.
backlog = 300
arrival_per_s = 50
complete_per_s = 65
net_drain = complete_per_s - arrival_per_s
assert net_drain > 0
assert backlog / net_drain == 20
print(backlog / net_drain)
20.0
تتبع العشرون ثانية الافتراضات المعطاة فقط وليست قياس وسيط.
ربط المقياس بتدخل محدود واحد
سم في الخط الزمني المضيف والصف ونوعه وعدد المستهلكين والجلب ومعدلات النشر والإقرار وأول عطل أو إنذار. قارن فترات متزامنة قبل تغيير مراجع وبعده. لا تفرغ التراكم أو تقر عملاً غير مكتمل لمجرد تصفير اللوحة. للمراقبة نفسها كلفة؛ فاجمع الأدلة اللازمة دون استقصاء واسع عالي التردد أو تجربة حمل. لا يستعلم الدرس وسيطاً أو نقطة مراقبة ولا يغير مورداً. ينفذ حسابات معطاة فقط؛ وتبقى صحة الخدمة والإنذار واكتمال الوجهة متطلبات أدلة تشغيلية مستقلة.
الأخطاء الشائعة وإصلاحها
اعتبار العمق المنخفض إثبات اكتمال العمل.
- لماذا يحدث؟
- إهمال الإقرار المبكر والعمل اللاحق.
- كيف تصلحه؟
- قس نتائج الوجهة وحداثة العمل مستقلة.
- كيف تتجنب تكراره؟
- وثق حد المسؤولية لكل مقياس.
اعتبار عتبة الذاكرة سقفاً صارماً.
- لماذا يحدث؟
- الخلط بين الإنذار والإنفاذ الفيزيائي.
- كيف تصلحه؟
- راجع الاستخدام والحدود ودلالات الإنذار معاً.
- كيف تتجنب تكراره؟
- احفظ الاحتياطي ولا تضبط لإسكات التنبيه فقط.
زيادة العمال تسوء تأخر الاكتمال.
- لماذا يحدث؟
- تشبع تبعية مشتركة لاحقة.
- كيف تصلحه؟
- راجع السعة المستدامة والقبول المحدود.
- كيف تتجنب تكراره؟
- اربط تغير المستهلك بصحة الوجهة.
اختبر فهمك
1. مع وصول 70/ث واكتمال 65/ث، هل تقسم 300 على 65 لتقدير اللحاق؟
اعرض الحل المشروح
لا؛ ينمو التراكم خمسة في الثانية فلا يلحق ما دامت الافتراضات. تتجاهل القسمة الوافد. راجع الإدخال والسعة وحدود التبعية، ولا تقدم حساباً ناقصاً وعد تعاف.
2. لماذا قد يشير unacked مرتفع مع ready منخفض لمشكلة مستهلك؟
اعرض الحل المشروح
غادرت الرسائل الجاهز وبقيت معلقة؛ فقد تتأخر المعالجة أو الإقرار. افحص المدة والانتظار والجلب والحساب. لا يثبت المقياس خطأ وحده؛ فقد يطول عمل مشروع أو يوجد أثر قبل الإقرار.
أهم ما تعلمته
- يصف الجاهز وغير المقر والاكتمال الفريد مراحل مختلفة.
- استخدم المعدلات وأدلة الموارد قبل إزالة الضغط العكسي.