Skip to content
Optimal Lab

System design · interactive

Retries, backoff and circuit breakers

Service B goes down from tick 4 to 9. Service A calls it 10 times a tick. Retrying feels safe, but every retry is more load on a service that's already struggling. Find the setup that lets B recover.

Users

wait ~80 ms

Service A

no breaker

Service B

10/20 calls

Calls reaching B per tick

dashed = capacity 20 · shaded = B down

Tick 0: B handles 10 calls fine.

B never recovers in this run.

tick 0 of 23
  1. 1

    Never wait forever. A 1000 ms timeout turns a hung dependency into a fast, visible failure.

    10 ok · 0 failed this tick

  2. 2

  3. 3

  4. 4

  5. 5