Руководство по реестру службы Eureka Server версии Spring Cloud 2.x

Spring Cloud

В этой статье используется облако 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»

Пожалуйста, укажите источник,

  • Контакт: 4272231@163.com