Design a Circuit Breaker
Design a low-level circuit breaker system for managing API calls to external dependencies, supporting three states (CLOSED, OPEN, HALF_OPEN) with configurable failure thresholds, timeout durations, and automatic state transitions. The system should be thread-safe, provide fallback responses, and expose metrics for monitoring service reliability.
Asked at:
Microsoft