Подтвердить что ты не робот

Как настроить несколько серверов Eureka от клиента в Spring Cloud

Из документа spring, я вижу, что мы можем иметь сервер peer eureka вместе, поэтому для Eureka1 в application.yml я могу иметь:

spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2/eureka/

И на сервере Eureka 2 я могу:

spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1/eureka/

Теперь эти два сервера eureka знают друг друга, это хорошо. НО, теперь при настройке клиента, когда они снова регистрируют Eureka, как это сделать?

В моем клиентском приложении у меня есть:

eureka:
      instance:
        hostname: ${host.instance.name:localhost}
        nonSecurePort: ${host.instance.port:8080}
        leaseRenewalIntervalInSeconds: 5 #default is 30, recommended to keep default
        metadataMap:
          instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
      client:
        serviceUrl:
          defaultZone: http://(eurekaServerHost):8761/eureka/

    server:
      port: ${host.instance.port:8080}

Итак, теперь мой вопрос: использовать ли peer1 или peer2 как EurekaServerHost в клиенте application.yml?

Спасибо

4b9b3361

Ответ 1

Используйте список разделенных запятыми сверстников в eureka.client.serviceUrl.defaultZone.

eureka.client.serviceUrl.defaultZone=http://<peer1host>:<peer1port>/eureka,http://<peer2host>:<peer2port>/eureka