Od doc wiosny, widzę, że możemy mieć wzajemną serwer eureka razem, więc dla Eureka1 w application.yml, mogę mieć:Jak config wielu serwerów Eureka od klienta w Spring Obłoku
spring:
profiles: peer1
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2/eureka/
I w Eureka Server 2, mogę:
spring:
profiles: peer2
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1/eureka/
Teraz te dwa serwery eureka są świadome siebie nawzajem, to jest dobre. ALE, teraz w konfigurowaniu klienta, kiedy rejestrują się ponownie Eureka, jak to zrobić?
W mojej aplikacji klienckiej, mam:
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}
Więc teraz moje pytanie będę używał peer1 lub peer2 jak EurekaServerHost w application.yml klienta?
Dzięki
To nie działa w moim przypadku. Wprowadzam kilka hostów Eureka jako oddzielną przecinkę listę w aplikacji klienta eureka. Jednak rejestruje się tylko z pierwszym na liście. Proszę pomóż. – Khuzi
z https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication "Po rozpoczęciu odbierania ruchu przez serwer wszystkie operacje wykonywane na serwerze są replikowane do wszystkie węzły równorzędne, o których wie serwer. Jeśli operacja nie powiedzie się z jakiegoś powodu, informacje są uzgadniane po następnym uderzeniu serca, które również zostanie zreplikowane między serwerami. " – pshirishreddy