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

时间:2018-08-20 10:46:35

标签: microservices

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

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

最终产品为List<AlternateProduct>,其中的图片,说明,评分(满分5分)和许多评论。

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

批准1

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

批准2

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

请帮助我做出决定!

1 个答案:

答案 0 :(得分:0)

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

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

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