Everywhere I’ve read in the docs seem to use these terms to mean the opposite of what I’ve seen anywhere else.
For example, HashiCorp calls a database “upstream”. I always understood that to be downstream:
frontend -> API -> database
Everywhere I’ve read in the docs seem to use these terms to mean the opposite of what I’ve seen anywhere else.
For example, HashiCorp calls a database “upstream”. I always understood that to be downstream:
frontend -> API -> database
An upstream is a backend server. See for example nginx, which defines the backends as upstreams:
http://nginx.org/en/docs/http/ngx_http_upstream_module.html
You are fetching information/ data, so it streams up the vertical workflow.
Whatever you read, HashiCorp is not the only company talking this way about upstreams.
Ah, so the stream isn’t the representation of the request, but of the response?
I think that’s the way it is.
I am assuming this is related to the connect integration?
I always like to use images such as these https://dpzbhybb2pdcj.cloudfront.net/posta2/v-5/Figures/envoy-internals-high-level.png to keep upstream and downstream confusion to a minimum.
Thanks! The image does help, but I still say that naming is confusing since it’s the opposite of the definition of the word: https://www.merriam-webster.com/dictionary/upstream
Upstream normally means where the water is coming from.
The definition used for upstream and downstream is coming from Envoy, so that terminology shows itself inside the connect stanza too.
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/intro/terminology