Spring Cloud: Как управлять запросами на Zuul к другим сервисам? - PullRequest
0 голосов
/ 02 мая 2019

На самом деле я хотел бы понять правильный подход к управлению запросами между несколькими микросервисами, одним из них является Zuul:

  1. У меня есть Zuul-приложение, которое является прокси-сервером до моего микросервиса.Zuul запускается через порт 7777 и объявляет API как /api/service1/get или /api/service2/get.На каждом сервисе у меня есть эхо-конечная точка, которая доступна localhost:7777/api/service1/get и работает хорошо.
  2. Но эти эхо-конечные точки доступны непосредственно из соответствующих сервисов.Таким образом, я могу сделать запрос от Почтальона, скажем, на service1/get/ и service2/get

Насколько я понимаю, любой может позвонить в эти службы через Zuul или непосредственно из этих служб.Так в чем же разница и какова реальная ценность Zuul для такого случая (вместо Zuul можно авторизовать пользователей, скажем, в качестве прокси-микросервиса)

Итак, каков правильный подход к использованию Zuul для микросервисов?

1 Ответ

0 голосов
/ 04 мая 2019

Ваш вопрос выглядит так, будто вы задаете две вещи. Какова цель и как ее использовать. Собираюсь ответить на первый.

Его цель - быть услугой перед всеми другими услугами, которые у вас есть. Как входная дверь в вашу систему. Остальные сервисы должны быть скрыты от внешнего мира, за прокси-сервисом.

Целью является маршрутизация всех сервисов из одного места, поэтому с netflix-zuul вы можете перехватывать запрос, манипулировать, аутентифицировать, маршрутизировать ...

Вы можете интегрировать обнаружение служб ( netflix-eureka ), чтобы ваши службы были там зарегистрированы, и вам не нужно иметь дело с URL-адресами ваших служб, вы можете получить к ним доступ по указанному вами пути и зарегистрированные идентификаторы услуг.

Вы можете интегрировать балансировку нагрузки ( netflix-tape ) в вашей системе.

Вы можете управлять взаимодействиями между вашими службами, добавляя допуск задержки и логику отказоустойчивости ( netflix-hystrix ). Таким образом, вы можете предоставить альтернативные варианты при возникновении ошибки.

И так далее ...

...