Eli5 the concepts of ‘Upstream’ and ‘Downstream’ within the context of software development.

276 views

Eli5 the concepts of ‘Upstream’ and ‘Downstream’ within the context of software development.

In: 2

5 Answers

Anonymous 0 Comments

Depends on the context.

Usually upstream means a *dependent* (someone who depends on you), and downstream means a *dependency* (someone you depend on).

So say you have a storefront, and the frontend talks to a generic “store” service, which calls various dependencies like an identity service (for authn / authz), a payment processor service (e.g., Stripe), and these in turn all have their own dependencies.

If you trace the flow of traffic, starting from the source, you can draw a directed graph:

“`
┌──►Identity──►User DB


Store─├──►Items DB


└──►Stripe──►Other Deps…
“`

Follow the flow of traffic, as though it were the flow of a river, and you can see who lies downstream from whom, and who is upstream of whom.

In this particular flow, we say Stripe is downstream from Store Service, and the Store Service is upstream of Identity Service.

You are viewing 1 out of 5 answers, click here to view all answers.