Spring Cloud Zuul 用于复合 API 调用?

Spring Cloud Zuul for composite API calls?

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

假设我有 2 项服务:订单详细信息服务和送货服务。我想要一个网关端点 GET /orders/{orderId} 调用订单详细信息服务,然后调用交付服务,并将两者结合到 return 完整的订单详细信息和交付。这可能通过 Zuul 的路由(也许是过滤器?)还是我应该使用 RestTemplate 之类的东西来手动制作这些请求(专门为这些类型的请求创建一个控制器)?

您可以避免这种复杂情况,并将您的 Gateway 请求转发给 Order service 来下订单,而不是将 HTTP 请求从 Order service 转发给 [=14] =] 进行交付。从本质上讲,这些实体就是这样工作的。不用担心速度,它非常快。

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

下单图如下:

有道理吗?