Circuit Breaker هنگام اختلال سرویس خارجی، ارسال مداوم درخواست به آن را متوقف می‌کند. وضعیت‌های رایج آن Closed، Open و Half-Open هستند.

Retry دوباره تلاش می‌کند، اما Circuit Breaker در زمان خرابی از فشار بیشتر جلوگیری می‌کند.

مثالی از مسیر اجرای برنامه

وقتی سرویس پرداخت برای چند ثانیه از دسترس خارج می‌شود، Circuit Breaker می‌تواند درخواست جدید را موقتاً رد کند تا فشار بیشتر نشود.

این راهکار را به‌صورت پیش‌فرض به تمام پروژه‌ها تحمیل نکنید. هزینه پیاده‌سازی، خطاهای محتمل و سازگاری با زیرساخت فعلی را بسنجید.

سه حالت Circuit Breaker

CLOSED: requests pass; failure rate is monitored
OPEN: downstream calls are rejected or use fallback
HALF_OPEN: limited trial calls decide recovery

قطع‌کننده مدار وقتی سرویس بیرونی به‌طور مداوم خطا می‌دهد از موج Timeoutهای هم‌زمان جلوگیری می‌کند. Threshold و مدت بازماندن باید براساس داده سرویس واقعی تنظیم شوند.