Timeouts

Every network call needs a deadline, otherwise one slow dependency holds threads forever. Set it from the dependency's p99, and make sure the total of nested timeouts fits within the user's patience.

Where it shows up in real systems

  • Circuit breaker

    Place it between a caller and a fragile dependency. When errors exceed the threshold, the circuit opens: calls return a fallback immediately instead of waiting for timeouts, which keeps the caller's threads free and gives the dependency time to recover.

    In production: Resilience4j, Polly (.NET), Envoy outlier detection, Istio, Hystrix (legacy)

See it break, then fix it

Build an architecture, send it a day of traffic and outages, and learn why it holds or fails. Free to start.