Downstream refers to whatever sits on the receiving side of a component: the clients, proxies or services that call it or consume its output. Direction depends on perspective, and in a request path the client is downstream of the server.
Why it matters
Outages travel along these dependencies. A failing database hurts the API that uses it, and then the web front end, and then users. Those affected parties are downstream of the failure. Mapping who is downstream of each component tells you the blast radius of a change and which alerts to suppress during an incident so you page the owner of the root cause, not every dependent. In mixed vocabulary, "downstream" in a pipeline means later stages.
Example
A request path:
browser -> CDN -> load balancer -> app -> database
Relative to the app, the database is upstream in a dependency sense (it is what the app relies on), while the load balancer, CDN and browser are downstream. When the database slows, every downstream layer sees timeouts. Terminology varies between teams, so state the direction explicitly in incident notes.
Common mistakes
- Using "upstream" and "downstream" without saying relative to what.
- Alerting independently on every downstream symptom instead of the shared cause.
- Forgetting that downstream callers may retry and amplify load on a struggling service.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.