基于微服务的架构中的上游和下游服务是什么?

What is Upstream and Downstream services in a Micro-service based architecture?

我听说过“上游服务”和“下游服务”这两个通用术语,但我看到一些关于微服务架构的文章使用了这些术语,但我无法理解基于微服务的架构中的上游和下游服务将是?有人有简短的解释吗?

我已经知道上游服务是那些不依赖于任何其他服务的服务,而下游服务则依赖于上游服务,例如,前端将是后端的下游服务,因为它依赖于它。

我正在 .Net Core 中开发微服务。

定义1:作用方向

上游:从

接收请求/发送响应
  • 服务 上游 正在呼叫我。

下游:向

发出请求/接收响应
  • 我正在调用服务下游

定义2:依赖方向

上游:向

发出请求/接收响应
  • 我正在调用服务上游

下游:从

接收请求/发送响应
  • 服务下游正在呼叫我。

所以,

互联网上有支持这两种定义的资源。也许有一天我们会解决这个问题,但现在的答案是:两者都可以。

下游服务是消费上游服务的服务。特别是,它们依赖于上游服务。更一般地说,上游服务不需要知道或关心下游服务的存在。下游服务关心上游服务的存在,即使它们只是选择性地消费它们。

http://reflectoring.io/upstream-downstream

我看是水流的比喻:河流的源头在上游,出海口在下游。

但实际上这是胡言乱语。如今,服务通过不同的方式交换数据。一个服务可以调用另一个服务来获取数据,也可以调用另一个服务来推送数据。服务可以通过先调用从另一个服务接收数据,也可以被动接收数据,例如接收推送通知。

在工作中,你可以明智地使用它:如果比你更高级的人将服务称为上游服务,则使用它;如果您是团队中资历最深的人,请随心所欲地命名。

它是服务流,所以提供者在上游,消费者在下游。

http://reflectoring.io/upstream-downstream

生产过程中的上游和下游

上游和下游软件依赖关系

Source

一图抵千言!!