在微服务架构中如何以及在何处执行响应组合?



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

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

最终产品将被List<AlternateProduct>,其中将具有图像,描述,评分(满分5分(和许多评论。

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

附录 1

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

附录 2

  • MVC/Rest API 接近 APIGateway
  • API 网关对产品微服务进行异步调用。
  • 产品微服务
  • 将调用其他微服务并执行组合并返回List<UlternateProduct>

请帮我决定!

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

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

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

最新更新