В этой статье используется облако Spring. Это статья 2.1.8RELEASE, версия = Greenwich.SR3.
1. Создайте сервисный реестр
1.1 Создайте новый загрузочный проект Spring: eureka-server
1.2 Пакет jar зависимостей, необходимый для pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
1.3 Добавьте аннотацию @EnableEurekaServer к EurekaServerApplication
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
@EnableEurekaServer: включить конфигурацию, связанную с сервером eureka.
1.4 Добавьте содержимое файла конфигурации: application.yml
spring:
application:
name: eureka-server
server:
port: 8701
#无参数启动
eureka:
instance:
hostname: localhost
prefer-ip-address: true
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
register-with-eureka: false #默认为true,设置为false,仅作为服务中心,不作为服务客户端
fetch-registry: false #默认为true,设置为false, 不从服务中心检索注册的服务
server:
eviction-interval-timer-in-ms: 5000 #清理间隔(单位毫秒, 默认是60*1000)
enable-self-preservation: true #默认为true,设置为false,关闭自我保护
#eureka server: 在运行期间会去统计心跳失败比例在15分钟之内是否低于85%
renewal-percent-threshold: 0.49 #默认0.85
В автономном режиме: register-with-eureka и fetch-registry должны быть ложными, иначе запуск сообщит об ошибке: Невозможно выполнить запрос на любом известном сервере. Причина в том, что по умолчанию реестр службы eureka попытается зарегистрироваться в качестве клиента.
1.5 Запуск службы
Откройте браузер и введите:http://localhost:8701, который отображается следующим образом:
Содержимое красного поля означает, что экземпляр не зарегистрирован.
Эпилог
На данный момент построен простой автономный центр регистрации услуг.
Создайте кластер реестра служб
Чтобы обеспечить высокую доступность службы, нам нужно изменить одномашинное приложение на кластерное приложение.Далее мы создаем простой кластер серверов eureka.
1.1 Изменить локальный хост
- 127.0.0.1 eureka1.server.com
- 127.0.0.1 eureka2.server.com
- 127.0.0.1 eureka3.server.com
1.2 Добавьте файл конфигурации application.yml
Добавьте файлы application-server1.yml и application-server2.yml и одновременно измените исходный файл application.yml.Содержимое файла выглядит следующим образом:
- application.yml
spring:
application:
name: eureka-server
server:
port: 8701
#无参数启动
eureka:
instance:
hostname: eureka1.server.com
prefer-ip-address: true
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
register-with-eureka: false
fetch-registry: true
server:
eviction-interval-timer-in-ms: 5000
enable-self-preservation: true
renewal-percent-threshold: 0.49
- application-server1.yml
spring:
application:
name: eureka-server
server:
port: 8702
#无参数启动
eureka:
instance:
hostname: eureka2.server.com
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
register-with-eureka: false
fetch-registry: true
server:
eviction-interval-timer-in-ms: 5000
enable-self-preservation: true
renewal-percent-threshold: 0.49
- application-server2.yml
spring:
application:
name: eureka-server
server:
port: 8703
#无参数启动
eureka:
instance:
hostname: eureka3.server.com
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
register-with-eureka: false
fetch-registry: true
server:
eviction-interval-timer-in-ms: 5000
enable-self-preservation: true
renewal-percent-threshold: 0.49 #默认0.85
1.3 Добавить службу запуска в идею
Установите службу запуска и добавьте ее в порядке 1234 на скриншоте.
Создайте соответственно eureka-server2 и eureka-server3 (Примечание: eureka-server1 можно запустить с исходным).1.4 Запустите последовательно три службы сервера eureka
Доступ отдельно после запуска сервисаeureka1.server.com:8701,eureka1.server.com:8702,eureka1.server.com:8703Как показано на рисунке:
Три страницы, показанные на рисунке выше, означают, что все службы успешно запущены. На данный момент построен простой кластер сервисных центров.
Суммировать
Вы можете поместить информацию о конфигурации application-server1.yml и application-server2.yml в исходную конфигурацию application.yml, начать с режима «---» с тремя горизонтальными полосами плюс режим spring.profiles и увеличить параметры запуска в одновременно: - -spring.profiles.active=config-server1. В этой статье используется метод application.yml для облегчения обслуживания в будущем.
В этой статье просто создаются автономные и кластерные приложения реестра служб, дается простое понимание eureka как реестра служб, и в будущем будет обновлено другое содержимое eureka.
репозиторий кода
Каталог «Spring Cloud 2.X Xiaobai Tutorial»
- Руководство по реестру службы Eureka Server версии Spring Cloud 2.x
- Spring cloud 2.x версия Eureka Учебное пособие по поставщику клиентских услуг
- Руководство по обнаружению ленточных сервисов версии Spring Cloud 2.x (включая встроенный механизм предохранителей Hystrix)
- Версия Spring Cloud 2.x Руководство по обнаружению сервисов Feign (включая встроенный автоматический выключатель Hystrix)
- Руководство по шлюзу маршрутизации Zuul версии Spring Cloud 2.x
- Учебное пособие по распределенному центру конфигурации конфигурации Spring Cloud 2.x версии
- Руководство по автоматическому выключателю Hystrix Dashboard версии Spring Cloud 2.x
Пожалуйста, укажите источник,
- Контакт: 4272231@163.com