请教一个问题,关于上下游服务的理解

2022-05-13 15:56:35 +08:00
 sun1993

如题,假如服务 A 调用服务 B ,服务 A 是上游服务还是下游服务?
因为最近发现自己对上下游的理解有些偏差,想看下大家对于这块的约定俗成。

在地理知识里,河流以水的流向决定上下游,比如河水从西流向东,那么东边处于下游,而西边则是上游
如果用河流来比喻服务间的上下游关系,这里的河水指的应该是数据流向,那么形如服务 A→服务 B 这种,如果数据指的是请求参数,那 A 应该是上游,而 B 是下游,反过来,如果数据指的是服务 B 的响应结果,那么 B 应该是上游,A 应该是下游.
所以正常情况下,文档、博客里的上下游服务指的应该是第二种关系吧?比如服务 A 请求了 mysql 获取数据,那么 mysql 就是服务 A 的上游依赖服务

2145 次点击
所在节点    问与答
5 条回复
fantastM
2022-05-13 16:47:23 +08:00
由 A 发起请求,所以 A 依赖了 B ,A 是上游,B 是下游
sun1993
2022-05-13 17:04:28 +08:00
sun1993
2022-05-13 17:06:12 +08:00
@fantastM 之前我也是这样认为的。。可是我发现在很多博客的语境下,A→B ,A 才是下游,而 B 是上游。。感觉他们是以核心数据为基准来分的上下游,即离核心数据越近的,越处于上游
mzlzero
2022-05-13 17:37:18 +08:00
看谁依赖谁,A 依赖 B ,则 B 是 A 上游,并且上游可以是多个
qq296015668
2022-05-15 01:53:38 +08:00
23333. 还是画架构图吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/852653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX