【问题标题】:What is Upstream and Downstream services in a Micro-service based architecture?基于微服务的架构中的上游和下游服务是什么?
【发布时间】:2020-02-25 16:35:47
【问题描述】:

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

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

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

【问题讨论】:

  • 互联网上有大量资源详细解释了这个主题。这可能是一个很好的起点 - softwareengineering.stackexchange.com/questions/312401/…
  • 我已经看过这个来源,但这主要是笼统的,不是特定于微服务的,你能给我一个微服务的链接吗?我已经尝试在网上搜索,但我没有找到!
  • 如果您正在为微服务构建 API 网关,也许查看 Ocelot 的文档会让您了解它们如何定义下游和上游 - ocelot.readthedocs.io/en/latest/features/routing.html
  • 将此问题添加到计算机科学中未解决的问题列表中。 :)

标签: .net-core microservices api-gateway


【解决方案1】:

定义1:行动方向

上游:接收来自/发送响应的请求

  • 上游服务正在呼叫我。

下游:发出请求/接收响应

  • 我正在调用服务下游

定义2:依赖方向

上游:向/接收来自的响应的请求

  • 我正在调用服务上游

下游:接收来自/发送响应的请求

  • 下游服务正在呼叫我。

那么,

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

【讨论】:

【解决方案2】:

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

http://reflectoring.io/upstream-downstream

【讨论】:

【解决方案3】:

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

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

在工作中,你可以明智地使用它:如果比你年长的人调用服务上游服务,那就去吧;如果您是团队中最资深的人,请随意命名。

【讨论】:

  • 这是一个很棒的类比!
【解决方案4】:

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

http://reflectoring.io/upstream-downstream

【讨论】:

    【解决方案5】:

    生产过程中的上游和下游

    上游和下游软件依赖项

    Source

    一张图胜过千言万语!!

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2021-12-02
      • 1970-01-01
      • 2020-07-22
      • 2021-09-04
      • 2017-10-15
      • 2013-02-01
      • 2021-11-02
      • 1970-01-01
      相关资源
      最近更新 更多