Spring Cloud
Что это
Spring Cloud - облегчает разработку облачных JVM приложений. С ней, приложения смогут легко соединяться
с сервисами и получать информацию облака, таких как Cloud Foundry и Heroku.
Spring Eureka
Spring Eureka - это часть инфраструктуры Spring Cloud, предназначенная для реализации сервиса регистрации
и обнаружения микросервисов в распределенной архитектуре приложений.
Аспекты и концепции
- Сервер реестра (Eureka Server) - отвечает за хранение информации о доступных экземплярах сервисов,
их состоянии (здоровье), местоположении и т.д.
- Клиент реестра (Eureka Client) - Eureka Client представляет собой библиотеку или модуль, который
интегрируется с каждым микросервисом, чтобы он мог зарегистрироваться в Eureka Server и получать
информацию о других сервисах. Клиент отправляет периодические сердцебиения (heartbeat) серверу
для поддержания своей регистрации в реестре.
- Регистрация и обнаружение сервисов - Микросервисы, поддерживающие Eureka Client, регистрируют себя в
Eureka Server при запуске и периодически обновляют свою информацию (например, IP-адрес, порт,
здоровье и т.д.). Другие микросервисы могут обнаруживать доступные сервисы, обращаясь к Eureka Server
через его API или используя клиентские библиотеки.
- Логика балансировки нагрузки - Eureka Server также может играть роль в балансировке нагрузки,
предоставляя клиентам информацию о доступных экземплярах сервисов, которые они могут использовать
для запросов. Клиенты могут использовать алгоритмы балансировки нагрузки для выбора конкретного
экземпляра сервиса из доступных в реестре.
- Использование в Spring Cloud - Spring Cloud предоставляет интеграцию с Eureka Server и Eureka Client
через соответствующие зависимости и конфигурационные настройки. Для использования Eureka в приложениях
Spring Cloud достаточно добавить зависимости в pom.xml (если используется Maven) и настроить
конфигурацию.