Это 9-й день моего участия в ноябрьском испытании обновлений, подробности о событии:Вызов последнего обновления 2021 г.
предыдущий пост«Начало работы с Spring Cloud Eureka и Feign (1)»Говоря о простой концепции регистрации и обнаружения служб, эта статья непосредственно начинает практиковать Eureka, запускает центр регистрации служб и регистрирует бизнес-службы в этом центре.
2. Эврика
Eureka — это сервисный реестр Spring Cloud. Нам нужно представить зависимости, связанные с Spring Cloud. Далее нам нужно запустить сервисный центр регистрации Eureka. Наконец, чтобы проверить функцию регистрации сервиса, нам нужно запустить веб-сервис зарегистрироваться в реестре.
2.1 Зависимости Spring Cloud от Eureka
Во-первых, мы создадим новый модуль проекта Maven pom и поместим в него зависимости Spring Cloud, которые будут определять версию Starter компонентов, связанных с Spring Cloud.
<properties>
<version.spring-cloud>2020.0.1</version.spring-cloud>
</properties>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${version.spring-cloud}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Версия, от которой зависит Spring Cloud, является относительно новой, и вы можете выбрать подходящую версию в соответствии с реальным проектом.
2.2 Центр регистрации
Мы создаем новый подмодуль для управления службой реестра Eureka, и здесь мы представим пакет зависимостей Eureka Server.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
Затем напишите класс запускаLauncher
, цель состоит в том, чтобы запустить службу, содержимое выглядит следующим образом.
@SpringBootApplication
@EnableEurekaServer
public class Launcher {
public static void main(String[] args) {
SpringApplication.run(Launcher.class,args);
}
}
application.yml
Информация о конфигурации следующая.
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
На этом этапе запустите службу и получите доступ к URL-адресу в браузере.http://{yourhost}:8761
, как показано на рисунке ниже, означает, что реестр служб был успешно запущен и может предоставлять функции регистрации и обнаружения служб.
2.3 Поставщики услуг
После того, как у нас есть реестр служб, мы можем запустить службу для регистрации в реестре служб.Все эти службы становятся клиентами Eureka, поэтому нам нужно ввести зависимости, связанные с клиентом.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Мы предлагаем простойgreeting
апи интерфейс.
public interface GreetingController {
@GetMapping("/greeting")
String greeting();
}
Затем в классе запускаLauncher
реализовать этот интерфейс.
@SpringBootApplication
@RestController
public class Launcher implements GreetingController {
@Autowired
@Lazy
private EurekaClient eurekaClient;
@Value("${spring.application.name}")
private String appName;
@Override
public String greeting() {
return String.format(
"Hello from '%s'!", eurekaClient.getApplication(appName).getName());
}
public static void main(String[] args) {
SpringApplication.run(Launcher.class,args);
}
}
конфигурационный файлapplication.yml
Содержание следующее.
spring:
application:
name: spring-cloud-eureka-client
server:
port: 0
eureka:
client:
serviceUrl:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
instance:
preferIpAddress: true
Затем запустите службу, просмотрите страницу управления службами Eureka, и вы увидите, что служба была успешно зарегистрирована.
В этом случае поставщик услуг также готов, то вам нужно потреблять эту услугу A.
Подростка, ты не видел достаточно? Нажмите на домашнюю страницу камня, посмотрите на него, может быть, есть сюрприз? Добро пожаловать в поддержкуНравится/Подписывайтесь/Комментируйте, ваша поддержка — моя самая большая мотивация для Gengwen, спасибо!