Spring Cloud Zuul用于复合API调用?

问题描述 投票:0回答:1

我开始构建一个微服务API网关,我正在使用Spring Cloud Zuul来帮助我进行路由。但是对Gateway API的一些调用将需要对不同服务的多个请求。

假设我有2项服务:订单详情服务和送货服务。我希望有一个Gateway端点GET / orders / {orderId}来调用Order Details服务,然后调用Delivery Service,并将两者结合起来,以便在交付时返回完整的Order详细信息。这是否可以通过Zuul的路由(可能是过滤器?)或者我应该手动创建这些(专门为这些类型的请求创建一个控制器)使用像RestTemplate之类的东西进行调用?

spring microservices spring-cloud netflix-zuul spring-cloud-netflix
1个回答
1
投票

您可以避免从GatewayOrder service发出命令的复杂性和转发请求,而不是从HTTPOrder service提出Delivery service请求以进行交付。这些实体本质上就是这样工作的。而且不用担心速度,它非常快。

在您的情况下,如果您想获得订单详细信息以及交付详细信息,那么首先应该采用相同的方式。甚至您的订单服务也应该在其数据库中保留一些交付细节。我们这样做,你应该避免冗余数据,但有时它是有道理的。

这是订单的图表:enter image description here

合理?

© www.soinside.com 2019 - 2024. All rights reserved.