Регистрация и открытие службы.
Что такое «Весенняя Эврика»?
Когда вы перейдете к «Архитектура микросервисов», там может быть один или несколько экземпляров службы, и потребители служб должны знать о физических адресах каждой службы, и формально это называется службой. открытие. Важным моментом в обнаружении сервисов является балансировщик нагрузки, такой как Spring Cloud Netflix-Zuul, но eureka предлагает балансировку нагрузки на стороне клиента и отделяет поставщиков услуг от потребителей без необходимости. для DNS. Предположим, вам необходимо добавить новый экземпляр службы или удалить существующий экземпляр службы из пула доступных служб (горизонтальное масштабирование), не нарушая работу потребителей службы. Spring Cloud Netflix-Eureka предлагает все эти возможности для реализации шаблона обнаружения сервисов.
Что вам понадобится
A favorite IDE
JDK 1.8 or later
Maven 3.2+
Мы реализуем два микросервиса
- Реестр служб (Eureka Server)
- Служба REST, которая регистрируется в реестре (Eureka Client).
Сборка вашего Spring Eureka Server.
Step 01
Прежде всего, мы создадим новый проект maven с двумя модулями maven. Это родительский файл pom.xml. Также не забудьте добавить <spring-cloud.version> Finchley.SR1 <spring-cloud-version>
, поскольку родительской зависимостью Spring является <version>2.0.5.RELEASE</version>
, и поместите все содержимое <properties></properties>
и <dependencyManagement></dependencyManagement>
в родительский pom.xml.
Step 02
Откройте модуль eureka-service и поместите spring-cloud-starter-netflix-eureka-server
dependency в pom.xml.
Step 03
Создайте основной класс приложения и включите Eureka Server в @SpringBootApplication для каждого, аннотируйте его с помощью @EnableEurekaServer .
Step 04
Создайте файл конфигурации внутри папки ресурсов. Мы настраиваем свойства в формате YML, поэтому нашим файлом конфигурации будет application.yml
. Убедитесь, что и registerWithEureka
, и fetchRegistry
указаны как false
.
Step 05
Наконец, укажите в браузере https://localhost:8761
, чтобы открыть панель Eureka . В настоящее время нет ни одного экземпляра службы, связанного с eureka. Следующим шагом мы подключим наш eureka-client к Discovery Server.
Регистрация вашего Spring Eureka Client.
Step 01
Теперь пора открыть модуль eureka-client и поместить spring-cloud-starter-netflix-eureka-client
зависимость в pom.xml.
Step 02
Теперь так же, как eureka-server, создайте основной класс приложения и включите Eureka Client в @SpringBootApplication для каждого, аннотируйте его с помощью @EnableEurekaClient.
Step 03
Наконец, создайте файл application.yml
и задайте для registerWithEureka
и fetchRegistry
значение true
, укажите URL-адрес вашего сервера eureka вместе с /eureka/
, в моем случае https://localhost:8761/eureka/
и hostname
как localhost
. Убедитесь, что номер порта не отличается от вашего eureka-server.
Step 04
В конце концов, разверните свой eureka-server как первое приложение, а затем разверните только ваше приложение eureka-client. Теперь укажите в браузере https://localhost:8761
, чтобы просмотреть Eureka панель инструментов. Вы увидите название СЛУЖБА АДМИНИСТРАТОРА в разделе Приложения. admin-service - это spring application name
, который вы добавляете в application.yml
eureka-client.
Вывод.
Как мы видели, теперь мы можем реализовать реестр служб с помощью Spring Netflix Eureka Server и зарегистрировать с ним несколько клиентов Eureka. Вы найдете исходные коды на GitHub.