في الأنظمة الحديثة تعتمد الخدمات على بعضها بشكل كبير. وعندما تتوقف خدمة واحدة قد تؤثر على عشرات الخدمات الأخرى. لهذا السبب ظهر مفهوم Circuit Breaker Pattern كأحد أهم أنماط التصميم المستخدمة في الأنظمة الموزعة.
هو آلية تمنع النظام من الاستمرار في إرسال طلبات إلى خدمة متعطلة أو بطيئة.
بدلًا من انتظار انتهاء المهلة في كل مرة، يتم إيقاف الطلبات مؤقتًا حتى تستعيد الخدمة عملها.
بدون Circuit Breaker:
أما باستخدامه:
يمر بثلاث حالات رئيسية:
كل الطلبات تمر بشكل طبيعي.
يتم إيقاف الطلبات مؤقتًا بسبب كثرة الأخطاء.
يتم إرسال عدد محدود من الطلبات لاختبار الخدمة.
لنفترض أن خدمة الدفع متوقفة.
بدون Circuit Breaker:
مع Circuit Breaker:
منع انتشار الأعطال.
عدم إهدار المعالج والذاكرة على طلبات فاشلة.
إظهار رسائل خطأ واضحة بدلًا من الانتظار الطويل.
لا، لكنه أكثر شيوعًا في الأنظمة الموزعة.
لا، لكنه يقلل تأثيرها بشكل كبير.

Circuit Breaker Pattern يعتبر من أهم تقنيات بناء الأنظمة المرنة لأنه يمنع الأعطال المحلية من التحول إلى مشكلة شاملة تؤثر على النظام بالكامل.