2015-06-15 17 views
18

Vom Frühjahr doc config, ich sehe wir Peer Heureka-Server zusammen haben können, so für Eureka1, in application.yml, kann ich:Wie mehrere Eureka-Server vom Client im Frühjahr Wolke

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

Und in Eureka Server 2, kann ich:

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

Nun sind diese beiden Heureka-Server bewusst sind einander, es ist gut. ABER, jetzt in der Konfiguration Client, wenn sie wieder registrieren Eureka, wie dies zu tun?

In meiner Client-Anwendung, die ich habe:

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} 

So jetzt meine Frage werde ich Peer1 oder Peer2 als EurekaServerHost im Client application.yml verwenden?

Dank

Antwort

18

Verwendung getrennt ein Komma Liste von Peers in eureka.client.serviceUrl.defaultZone.

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

Dies funktioniert nicht für meinen Fall. Ich lege ein paar Eureka-Hosts als Komma getrennte Liste in Eureka-Client-Anwendung. Es registriert jedoch nur mit dem ersten in der Liste. Bitte helfen Sie. – Khuzi

+3

von https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication "Sobald der Server beginnt, Datenverkehr zu empfangen, wird auf alle Vorgänge repliziert, die auf dem Server ausgeführt werden Alle Peer-Knoten, die dem Server bekannt sind. Wenn eine Operation aus irgendeinem Grund fehlschlägt, werden die Informationen beim nächsten Heartbeat, das ebenfalls zwischen den Servern repliziert wird, abgeglichen. " – pshirishreddy

Verwandte Themen