#netflix-eureka
#netflix-эврика
Вопрос:
Допустим, у меня есть x количество экземпляров для микросервиса. Все они регистрируются на сервере Eureka.
Какой-то случайный пользователь хочет воспользоваться этим микросервисом для извлечения некоторых данных. Очевидно, что они могут выбрать экземпляр для использования. Но если они хотят использовать службу обнаружения Eureka, должны ли они внедрять клиент Eureka? Если да, то как запретить им регистрироваться на сервере Eureka?
Было бы лучше создать «мастер-сервис», который реализует клиент Eureka для этого случайного пользовательского вызова, чтобы им вообще не приходилось беспокоиться о Eureka? Имеет ли смысл приведенная ниже диаграмма?
Ответ №1:
Я не знаком со службой обнаружения Eureka, но, как правило, большинство веб-сервисов попросят вас зарегистрироваться для получения токена API. Затем микросервис должен использовать токен API для выполнения запросов к службе обнаружения Eureka от имени конечного пользователя. «Случайному клиенту» не обязательно знать о службе обнаружения Eureka или о том, как взаимодействовать с ней, он должен знать только, как взаимодействовать с вашим микросервисом. Использование какого-либо «главного сервиса» нарушило бы цель микросервисной архитектуры, которая в первую очередь заключается в масштабируемости, «главный сервис», скорее всего, стал бы узким местом.
В общем случае можно было бы ожидать увидеть приложение, разработанное с использованием микросервисной архитектуры, настроенной следующим образом:
Очевидно, что это очень простой пример, он не учитывает сохранение, кэширование и т.д. Но это должно дать вам основную идею.