【问题标题】:How and where to perform response composition in microservice architecture?在微服务架构中如何以及在何处执行响应组合?
【发布时间】:2019-01-26 11:38:31
【问题描述】:

我们希望像大多数电子商务网站一样显示产品的替代品。在我们的例子中,我们需要从多个微服务中获取数据。

  • 产品 - 存储所有产品信息
  • 价格 - 在我们的案例中,价格很复杂,受用户位置和其他参数的影响。因此,我们将其设为单独的微服务。
  • 评论 - 它管理产品的评分和评论。

最终产品将是 List<AlternateProduct>,其中包含图片、描述、评分(满分 5 分)和许多评论。

在微服务架构中,从多个微服务组成响应的正确位置是什么?

方法 1

  • MVC/Rest API 接近 APIGateway
  • API 网关对所有微服务进行异步调用
  • 响应将返回给 MVC/WebAPI。可以执行响应组合的位置。

方法 2

  • MVC/Rest API 接近 APIGateway
  • API Gateway 对 Products 微服务进行异步调用。
  • Products微服务会调用其他微服务进行组合并返回List<UlternateProduct>

请帮我做决定!

【问题讨论】:

  • 你不觉得我的回答够好吗? :)

标签: microservices


【解决方案1】:

在这种情况下,我会选择 方法 1,因为您可以下载所需的产品列表,然后并行运行 2 个其他请求以下载价格和评论。

在收到所有 3 个请求的响应后,您构建模型并返回它。

我认为网关 API 应该足够智能,可以调用不同的服务并构建需要返回的结果。

【讨论】:

    猜你喜欢
    • 2018-01-04
    • 1970-01-01
    • 2014-01-08
    • 2018-08-11
    • 2023-03-09
    • 2021-02-05
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多