如题,假如服务 A 调用服务 B ,服务 A 是上游服务还是下游服务?
因为最近发现自己对上下游的理解有些偏差,想看下大家对于这块的约定俗成。
在地理知识里,河流以水的流向决定上下游,比如河水从西流向东,那么东边处于下游,而西边则是上游
如果用河流来比喻服务间的上下游关系,这里的河水指的应该是数据流向,那么形如服务 A→服务 B 这种,如果数据指的是请求参数,那 A 应该是上游,而 B 是下游,反过来,如果数据指的是服务 B 的响应结果,那么 B 应该是上游,A 应该是下游.
所以正常情况下,文档、博客里的上下游服务指的应该是第二种关系吧?比如服务 A 请求了 mysql 获取数据,那么 mysql 就是服务 A 的上游依赖服务
1
fantastM 2022-05-13 16:47:23 +08:00
由 A 发起请求,所以 A 依赖了 B ,A 是上游,B 是下游
|
2
sun1993 OP |
3
sun1993 OP @fantastM 之前我也是这样认为的。。可是我发现在很多博客的语境下,A→B ,A 才是下游,而 B 是上游。。感觉他们是以核心数据为基准来分的上下游,即离核心数据越近的,越处于上游
|
4
mzlzero 2022-05-13 17:37:18 +08:00
看谁依赖谁,A 依赖 B ,则 B 是 A 上游,并且上游可以是多个
|
5
qq296015668 2022-05-15 01:53:38 +08:00
23333. 还是画架构图吧。
|