تتضاعف عمليات إعادة المحاولة التي ينفذها الوكيل بعد إعادة الاتصال عندما يفسر عدة عملاء وطبقات سير عمل وعمليات موضوعة في قائمة الانتظار الانقطاع نفسه على أنه إذن بالمحاولة مجددًا.
قد يستدعي وكيل منزلي واجهة برمجة تطبيقات NAS وجسر المنزل الذكي وأداة متصفح وقائمة انتظار للرسائل ضمن خطة واحدة. عند عودة شبكة Wi-Fi أو جهاز التوجيه، قد تطلق مكتبة العميل ومغلف الأداة ومحرك سير العمل وواجهة المستخدم عملية إعادة محاولة لكل منها. ويؤدي عدم اليقين بشأن اكتمال العملية، والمؤقتات المتزامنة، والأحداث المخزنة مؤقتًا، وغياب مفاتيح تحقيق idempotency إلى تحويل خطوة واحدة انقطعت إلى عدة محاولات تبدو صحيحة.
تضاعف طبقات إعادة المحاولة المستقلة العملية الفاشلة
قد يمر طلب الوكيل عبر بوابة ومخطط ومحول أدوات ومكتبة HTTP وخدمة جهاز. إذا سمحت ثلاث طبقات بثلاث محاولات لكل منها، فقد ترى العملية النهائية عددًا يفوق ثلاث مكالمات بكثير، لأن ميزانيات إعادة المحاولة تتراكب بصورة مضاعِفة لا بصورة جمعيّة.
تضخيم إعادة المحاولة عبر الطبقات يوضح كيف تضيف عمليات إعادة المحاولة حملًا إلى تبعية تعاني بالفعل، ولماذا يقلل التراجع الأُسّي والتوزيع العشوائي والمهلات ونقطة إعادة المحاولة الواحدة من هذا التضخيم. وتنطبق هذه الإرشادات مباشرة على حزم الوكلاء التي تتضمن عمليات إعادة محاولة مخفية في مكتبات العملاء.
غالبًا ما تؤدي إعادة الاتصال إلى مسح خطأ النقل من دون مسح المؤقتات المعلّقة أو عمليات تسليم قائمة الانتظار. وتستيقظ كل طبقة بمعرفة غير مكتملة بما تفعله الطبقات الأخرى، لذا تكون معرّفات الطلبات المركزية وميزانية إعادة المحاولة التي يملكها طرف واحد أكثر موثوقية من ضبط سياسات متشابهة بصورة مستقلة.
يخفي الاتصال المنقطع ما إذا كانت الأداة قد نجحت
قد تضيع الاستجابة بعد أن يكمل الخادم الإجراء، ولكن قبل أن يتلقى الوكيل التأكيد. تكون إعادة محاولة القراءة غير ضارة عادةً؛ أما إعادة محاولة فتح باب أو إرسال إشعار أو نقل ملف أو إجراء يشبه الشراء، فقد تكرر أثرًا جانبيًا حقيقيًا.
معرّفات الطلبات ذات السلوك المتكرر الآمن تستخدم معرّفات يحددها المستدعي لهذا الغرض، بحيث تتمكن الخدمة من التعرف على الطلبات المتكررة وإرجاع النتيجة الأصلية بدلًا من تنفيذ الإجراء مرتين. ويفصل ذلك بين التعافي الآمن ومجرد إرسال الحمولة نفسها مرة أخرى.
يجب أن يحفظ سير العمل معرّف العملية والهدف والوسائط وحالة المحاولة والنتيجة المؤكدة عبر فجوة الشبكة. ويؤدي إنشاء معرّف جديد لاستدعاء الأداة بعد إعادة الاتصال إلى إحباط إزالة التكرار، لأن الخدمة النهائية ترى عملية جديدة لا استمرارًا للعملية السابقة.
قد يتحول التعافي المتزامن إلى عاصفة من عمليات إعادة المحاولة
تكتشف أجهزة كثيرة عودة حافة الشبكة نفسها وتعيد الاتصال خلال ثوانٍ. ومن دون تأخير عشوائي وتحكم في قبول الطلبات، تنشئ طلبات الوكلاء المدرجة في قوائم الانتظار والاشتراكات وفحوصات السلامة ارتفاعًا مفاجئًا في الحمل، تحديدًا عندما تكون الخدمات بصدد إعادة بناء حالتها.
يصف فصل التخلص من حمل التعافي الأعطال المتسلسلة عندما تعزز عمليات إعادة المحاولة واستنزاف الموارد وحركة التعافي بعضها بعضًا. ويوصي بالحد من العمل والتخلص من الحمل الزائد واختبار سلوك التحميل الزائد بدلًا من افتراض أن التبعية التي تعافت قادرة على قبول كل الأعمال المتراكمة فورًا.
تكمن حدود الفشل في استخدام التراجع بديلًا عن سلامة العملية. فالتوزيع العشوائي يوزع المكالمات زمنيًا، لكنه لا يمنع الآثار الجانبية المكررة، كما أن السلوك المتكرر الآمن لا يجعل الإجراء القديم مرغوبًا. ويجب إعادة التحقق من صلاحية النية والتفويض الحالي وحالة الهدف قبل إعادة التشغيل.
أجرِ اختبار إعادة تشغيل بعد إعادة الاتصال
ابدأ سير عمل لوكيل من عشر خطوات يتضمن عمليات قراءة وعمليات كتابة ذات سلوك متكرر آمن وإجراءً واحدًا غير قابل للتكرار. افصل الشبكة قبل الإرسال وبعده وأثناء التنفيذ وبعد الاكتمال ولكن قبل التأكيد، ثم أعد توصيل عدة عملاء في الوقت نفسه. ويظل هذا التمييز ظاهرًا أثناء الاختبارات المنزلية اللاحقة.
طبّق حدود الآثار الجانبية الواردة في إجراءات الوكيل غير القابلة للتكرار. وسجّل عدد المحاولات في كل طبقة، ومعرّفات العمليات الفريدة، والآثار المكررة، وعمر عناصر قائمة الانتظار، وتوزيع التراجع، والإجراءات القديمة التي جرى رفضها، والوقت اللازم لعودة الخدمة إلى الحمل الطبيعي. ويجب أن تظل النتيجة الوسيطة قابلة للفحص قبل أن تتابع الأتمتة التنفيذ.
لا تجتز الاختبار إلا عندما تنتج العملية المنطقية الواحدة أثرًا جانبيًا ملتزمًا به واحدًا كحد أقصى، وتظل أعمال إعادة المحاولة ضمن ميزانية عامة. وإذا تعذر على الوكيل تحديد النتيجة السابقة، فاطلب المصالحة أو موافقة بشرية بدلًا من التخمين بأن محاولة أخرى آمنة.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

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

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

لماذا تنقسم مجموعات إزالة تكرار الصور بعد تعديل البيانات الوصفية؟
تعرّف على كيفية تسبب التجزئات الدقيقة، والتجزئات الإدراكية، واتجاه EXIF، والطوابع الزمنية، والحدود، وإصدارات مسارات المعالجة في تقسيم مجموعات الصور الخاصة المتكررة.

