web-dev-qa-db-fra.com

Comment configurer plusieurs serveurs Eureka à partir d'un client dans Spring Cloud

D'après la doc du printemps, je vois que nous pouvons avoir un serveur eureka homologue ensemble, donc pour Eureka1, dans application.yml, je peux avoir:

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

Et dans Eureka Server 2, je peux avoir:

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

Maintenant, ces deux serveurs eureka se connaissent, c'est bien. MAIS, maintenant dans la configuration du client, quand ils s'inscrivent à nouveau Eureka, comment faire?

Dans mon application client, j'ai:

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}

Alors maintenant, ma question est: dois-je utiliser peer1 ou peer2 comme EurekaServerHost dans le client application.yml?

Merci

31
user3006967

Utilisez une liste de pairs séparés par des virgules dans eureka.client.serviceUrl.defaultZone.

eureka.client.serviceUrl.defaultZone=http://<peer1Host>:<peer1port>/eureka,http://<peer2Host>:<peer2port>/eureka
31
spencergibb