One Slow Service, Five Broken Ones

Decide what you would build from the brief alone. Everything below it is available, but the exercise stops working if you open it first.

The brief you were given

A recommendations service becomes slow. Within minutes the product API, checkout and the mobile gateway are all failing, although none of them depends on recommendations for anything essential. Explain and fix.

The trap — the wrong fix that looks right

Adding retries to the recommendations call so transient slowness is smoothed over. Every retry occupies a worker for another full timeout, so the number of workers tied up multiplies precisely when they are scarcest — and the additional load lands on a service that is already unable to keep up. The change makes the cascade faster and harder to see, because the failure now appears as capacity exhaustion in the callers rather than as errors from the callee.