我们希望像大多数电子商务网站一样显示产品的替代品。在我们的例子中,我们需要从多个微服务获取数据。
- 产品- 存储所有产品信息
- 价格- 在我们的案例中,价格很复杂,取决于用户的位置和其他参数。因此,我们将其设为单独的微服务。
- 评论- 它管理有关产品的评级和评论。
最终产品将被List<AlternateProduct>
,其中将具有图像,描述,评分(满分5分(和许多评论。
在微服务架构中,从多个微服务撰写响应的正确位置是什么?
附录 1:
- MVC/Rest API 接近 APIGateway
- API 网关对所有微服务进行异步调用
- 响应将返回到 MVC/WebAPI。可以执行响应组合的地方。
附录 2:
- MVC/Rest API 接近 APIGateway
- API 网关对产品微服务进行异步调用。 产品微服务
- 将调用其他微服务并执行组合并返回
List<UlternateProduct>
请帮我决定!
在这种情况下,我会选择方法 1正弦,您可以下载所需的产品列表,然后并行运行 2 个其他请求来下载价格和评论。
收到来自所有 3 个请求的响应后,您构建模型并返回它。
我认为网关 API 应该足够智能,可以调用不同的服务并构建需要返回的结果。