Я часами пытался выяснить, почему один микросервис был зарегистрирован на моем сервере eureka, а другой - нет. У меня 2 сервера: на server-1 (ip: 12.34.56.78) есть мой сервер eureka и один микросервис. А на server-2 (ip: 87.65.43.21) есть еще один микросервис.
Это application.yml моего eureka-server, на server-1 :
server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false
Это свойства эврики в application.yml из микросервиса на server-1 :
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
default-zone: http://12.34.56.78:8761/eureka/
instance:
prefer-ip-address: true
И это свойства эврики в application.yml из микросервиса server-2 :
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
default-zone: http://12.34.56.78:8761/eureka/
instance :
prefer-ip-address: true
status-page-url-path: /infoApp
health-check-url-path: /healthApp
metadata-map:
app-owner: My Name
description: Oauth2 Microservice
Но когда я запускаю свое приложение на server-2, я получаю следующее исключение:
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
Но мне нужно решить проблему на server-2, изменив свойства eureka в моем application.yml следующим образом:
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://12.34.56.78:8761/eureka/
instance :
preferIpAddress: true
statusPageUrlPath: /infoApp
healthCheckUrlPath: /healthApp
metadataMap:
appOwner: My Name
description: Oauth2 Microservice
Единственная разница в синтаксисе:
- service-url -> serviceUrl
- default-zone -> defaultZone
- et c ...
Я нашел документацию по обоим синтаксисам, поэтому я не уверен, когда использовать тот или иной . Мы будем благодарны за любую подсказку по этому поводу.