WTF is "upstream" and "downstream"?
It's Not About Water
Throughout the Istio docs you'll find the terms "upstream" and "downstream" used in a way which may be counterintuitive to you. This terminology has been imported wholesale from the Envoy project which documents the terms clearly but does not explain why the terms are used this way.
The confusion often arises when using the hydrological definition instead of a technical one. Istio and Envoy use the terms in the same context of a telecoms "upstream" which refers to traffic moving from a subscriber to a provider, or a source control "upstream" which refers to where a patch should be sent while "downstream" is where the patch comes from.
We can't lay the blame for this confusion squarely on Istio and Envoy however, nginx started using the term "upstream" this way back in 2004.