你说的下游是 upstream 吧?

Posted qcrao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你说的下游是 upstream 吧?相关的知识,希望对你有一定的参考价值。

工作中,有一些术语比较容易混淆,聊半天,最后发现双方对术语的理解不一致。这个时候用英文原本的表达或者换一种方式来表述能让沟通更顺畅。

像我们经常说的『上下游』便是经常发生混淆的一对名词。

以前,我经常说『梳理一下我们依赖的下游』,后来发现这种说法是错误的。正确的是:梳理一下我们依赖的上游。

是不是听着很奇怪?

可以这样理解,越是上游的地方,越是离源头更近的地方,源头就是指数据源。

对于互联网服务用户而言,数据沿着源头、上游、下游,一直流到用户的设备上。源头可能是数据库,上游可能是后端服务、下游可能是 gateway。对于某个微服务的 owner 也一样:你的服务做的事就是从上游获取某项数据,然后经过一些加工处理,吐出加工后的数据,数据会流向下游。

有人可能会反问:服务之间的交互,一问一答,请求和响应都有数据,那流向该怎么算?其实这里的数据是指响应数据,是终端用户最终需要的数据:可能是短视频,可能是公众号文章。

我们记住这张图就可以了:

上面这张图来自这篇文章[1],文中介绍了好几种 downstream/upstream,但对于后端研发来说,弄清服务调用间的上下游就足够了。

实在不好区分的,想想 nginx 中的 upstream 配的是什么地址能就回忆起来。

最后,在有可能要频繁说起上下游的场合,一定要先和大家约定好名词的定义。这时用 upstream、downstream 可能会更好一些;或者改叫调用方、被调用方也很清晰。

参考资料

[1]

文章: https://reflectoring.io/upstream-downstream

以上是关于你说的下游是 upstream 吧?的主要内容,如果未能解决你的问题,请参考以下文章

上游/下游术语向后使用? (例如 nginx)

组播为什么要计算最短路径树?

在git中列出所有下游本地分支

nginx源码中upstream的主要流程

Nginx中upstream模块实现PHP服务器的负载均衡

Blog.Core开源网关统一集成下游服务文档