2015-06-15 13 views
18

Dalla doc primavera, vedo che possiamo avere server di eureka tra pari insieme, quindi per Eureka1, in application.yml, posso avere:Come config più server Eureka dal cliente in primavera cloud

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

E a Eureka Server 2, posso avere:

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

Ora questi due server eureka sono consapevoli l'un l'altro, è bene. MA, ora nella configurazione del client, quando si registrano di nuovo Eureka, come fare questo?

Nella mia applicazione client, ho:

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} 

Così ora la mia domanda è devo usare Peer1 o Peer2 come EurekaServerHost nel application.yml cliente?

Grazie

risposta

18

Utilizzare una virgola elenco di coetanei separati in eureka.client.serviceUrl.defaultZone.

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

Questo non funziona per il mio caso. Sto mettendo un paio di host Eureka come lista separata da virgole nell'applicazione client eureka. Tuttavia si sta registrando solo con il primo nell'elenco. Per favore aiuto. – Khuzi

+3

da https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication "Una volta che il server inizia a ricevere il traffico, tutte le operazioni eseguite sul server vengono replicate in tutti i nodi peer conosciuti dal server. Se un'operazione non riesce per qualche motivo, le informazioni vengono riconciliate nel prossimo heartbeat che viene replicato anche tra i server. " – pshirishreddy