Spring Cloud Zuul для составных вызовов API? - PullRequest
0 голосов
/ 10 апреля 2019

Я начинаю создавать шлюз Microservice API, и я использую Spring Cloud Zuul, чтобы помочь мне с маршрутизацией. Но для некоторых вызовов API шлюза потребуется несколько запросов к различным службам.

Допустим, у меня есть 2 услуги: Детали заказа Сервис и служба доставки. Я хочу, чтобы конечная точка шлюза GET / orders / {orderId} выполняла вызов службы сведений о заказе, а затем службы доставки и объединяла их, чтобы вернуть полные данные заказа с доставкой. Возможно ли это с маршрутизацией Zuul (может быть, с фильтрами?), Или я должен сделать это вручную (создать контроллер специально для таких запросов), используя что-то вроде RestTemplate для выполнения вызовов?

1 Ответ

1 голос
/ 10 апреля 2019

Вы можете избежать этой сложности и переслать запрос от вашего Gateway на Order service, чтобы сделать заказ, чем сделать запрос HTTP от Order service до Delivery service, чтобы сделать доставку. По своей природе эти сущности работают так. И не беспокойтесь о скорости, это очень быстро.

Это, во-первых, в вашем случае, если вы хотите получить детали заказа, с деталями доставки, которые должны идти одинаково. Возможно, даже ваша служба заказа должна сохранить некоторые детали доставки в своей базе данных. Мы делали это так, вы должны избегать избыточных данных, но иногда это имеет смысл.

Вот график выполнения заказа: enter image description here

Имеет смысл?

...