我一直在考虑实际流的上游和下游,那里的信息流就像水一样。因此,上游是水/数据的来源(例如,HTTP请求),下游是水/数据的来源(例如,为请求提供服务的基础系统)。
我最近一直在研究API网关,并注意到其中一些使用了与该定义相反的含义。当时我觉得有些奇怪。然后,我发现某些API网关所基于的nginx也以与我期望相反的方式使用了该术语。nginx将发送请求的服务器称为“上游服务器”,因此传入的请求可能是“下游客户端”。
从概念上讲,如果进入“上游服务器”,nginx似乎会将请求“推向上坡”,这完全是违反直觉的……在反向代理和API网关领域,重力是反向的,显然!
我已经看过其他讨论,它们讨论上游/下游代表系统之间的依赖性,但是对于位于系统之间的中间件或基础结构组件,依赖性的概念稍微宽松一些,并且我认为仍然可以从信息流的角度进行思考-因为无论如何,这通常是依赖项的来源。
我对流类比的理解是否从根本上错了,还是这些软件组件使概念倒退了?