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
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