без шлюза API. Используется ли этот реестр служб?
Да.Например, вы можете использовать его для определения местоположения (IP и порт) всех ваших микросервисов.Это пригодится для работы типа devops.Например, в одном проекте, над которым я работал, мы использовали Eureka, чтобы найти все экземпляры наших микросервисов и проверить их статус (/ health, /info).
Я понимаю, что можно использовать ZUULв качестве шлюза API, который в основном является балансировщиком нагрузки, вызывает соответствующий микросервис, соответствующий URL-адресу запроса.Это предположение верно?
Да, но это может сделать намного больше.По сути, поскольку Zuul - это скорее фреймворк / библиотека, которую вы превращаете в микросервис, вы можете кодировать его для реализации любой логики маршрутизации, которую вы можете придумать.Это очень сильно в этом смысле.Например, допустим, вы хотите изменить способ маршрутизации в зависимости от времени суток или любых других внешних факторов, с помощью Zuul вы можете сделать это.
будет ли шлюз API взаимодействовать с Eureka для получения соответствующегомикросервис?
Да.Вы настраиваете Zuul, чтобы указать на Эврику.Он становится клиентом Eureka и даже подписывается на Eureka для получения обновлений в реальном времени (какие экземпляры присоединились или ушли).
Я читал, что NGINX также может использоваться в качестве шлюза API?Также я читал, что где-то еще, например, NGINX можно использовать в качестве реестра служб, то есть в качестве альтернативы для Eureka!Так что же правильно?Api-шлюз или сервисный реестр или оба?
Nginx довольно мощный и может выполнять работу с типом шлюза API.Но есть некоторые основные различия.AFAIK, микросервисы не могут динамически регистрироваться в Nginx, пожалуйста, исправьте меня, если я ошибаюсь ... как они могут в Eureka.Во-вторых, хотя я знаю, что Nginx очень (очень) настраиваем, я подозреваю, что его возможности конфигурации не приближаются к возможностям маршрутизации Zuul (из-за того, что весь язык Java находится в вашем распоряжении в Zuul для кодирования вашей логики маршрутизации).Может быть так, что есть решения для обнаружения сервисов, которые работают с Nginx.Поэтому Nginx позаботится о маршрутизации и тому подобном, но для обнаружения службы все равно потребуется решение.
Может ли это также использоваться в качестве альтернативы ZUUL?
Да, AWS API Gateway можно использовать в качестве замены Zuul.Проблема, как и Nginx, заключается в обнаружении сервисов.AWS API Gateway позволяет применять логику к маршрутизации ... хотя и не так открыто, как Zuul.
для какой ленты используется?
Хотя вы можете использовать библиотеку лент непосредственно, по большей части рассматривайте ее как внутреннюю зависимость Zuul.Это помогает Zuul сделать простую балансировку нагрузки, которую он делает.Обратите внимание, что этот проект находится в режиме обслуживания и больше не рекомендуется.
Это также можно использовать для балансировки нагрузки.Таким образом, нам нужен ZUUL, если у нас есть AWS ALB?
. Вы можете использовать ALB с ECS (сервис эластичных контейнеров) для замены Eureka / Zuul.ECS позаботится о том, чтобы сервис открыл для вас, и сопоставит все экземпляры определенного сервиса с целевой группой.Ваша таблица маршрутизации ALB может затем направить в целевые группы на основе простых правил маршрутизации.Правила маршрутизации в ALB очень просты, но со временем улучшаются.