hardSystem Design

How do you implement a circuit breaker for unreliable downstream services?

975 views
01

Understand the problem

Failing fast to protect a service from cascading failures.

nodejsresiliencecircuit-breakerreliability
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Wrapping a call with opossum
import CircuitBreaker from 'opossum';

const breaker = new CircuitBreaker(callPaymentApi, {
  timeout: 3000,                 // a call over 3s counts as a failure
  errorThresholdPercentage: 50,  // open at 50% errors
  resetTimeout: 10_000,          // cooldown before half-open
});
breaker.fallback(() => ({ status: 'queued' }));   // while OPEN

const result = await breaker.fire(order);
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.