sxsphinxstack

Skills / Working / Implement a circuit breaker

Working Code skill

Implement a circuit breaker

Implement a circuit breaker with meaningful failure classification, bounded state, safe fallback, probing, recovery, and observability.

When to use

  • Use around a dependency whose failure can consume scarce resources or cascade.
  • Do not count caller cancellation or valid business rejection as dependency failure.

Preconditions

  • Define operation, timeout, failures, volume, fallback, retry, idempotency, and recovery.

Procedure

  1. Classify success, slow, retryable, terminal, caller, and dependency outcomes.
  2. Choose scope by operation, tenant, region, or endpoint without global collateral damage.
  3. Define closed, open, and half-open transitions with minimum volume and bounded windows.
  4. Coordinate timeout, retry, concurrency, and backoff.
  5. Provide a truthful safe fallback or explicit unavailability.
  6. Test flapping, low volume, partial failure, probe concurrency, and restart state.

Failure plan

  • Allow authorized bounded bypass only with monitoring and resource protection.

Worked example

A payment breaker opens on upstream timeouts but not declined cards and permits one idempotent probe.