Имя экземпляра отображается как "неизвестно" на панели инструментов Eureka вместо имени службы
Я работаю на микросервисах с загрузкой Spring и использую eureka в качестве сервера. Я зарегистрировал свой сервис на сервере Eureka, но на Eureka Dashboard имя службы отображается как "Неизвестно" вместо имени службы, которое я настроил в application.yml.
ниже оба сервера конфигурации yml: порт: 8761
весна: приложение: имя: эврика-сервер
eureka: экземпляр: имя хоста: локальный клиент: register-with-eureka: ложный выборочный реестр: ложный URL-адрес службы: зона по умолчанию: http: // $ {eureka.instance.hostname}: $ {server.port} / eureka /
eureka: клиент: serviceUrl: defaultZone: http://localhost:8761/eureka/ экземпляр: имя приложения: сервер отчетов сервер: порт: 0 экземпляр: предпочитаемый_адрес: истина весна: приложение: имя: механизм отчетов
7 ответов
Попробуйте создать файл bootstrap.yml и добавьте это:
spring.application.name = instanceName
В вашем файле Applicaton.yml:
spring:
application:
name: yourname
eureka:
instance:
instanceId: ${spring.application.name}
где "instanceId" важен для удовлетворения ваших потребностей.
Измените свойство default-zone по умолчанию Zone. Я делюсь с вами тем, что работает для меня.
application.yml
Эврика сервер
eureka:
instance:
hostname: localhost
client: # Not a client, don't register with yourself
registerWithEureka: false
fetchRegistry: false
server:
enable-self-preservation: false
server:
port: 8882
Эврика Клиент
spring:
application:
name: customer
eureka:
client:
eureka-connection-idle-timeout-seconds: 60
serviceUrl:
defaultZone: http://localhost:8882/eureka/
healthcheck:
enabled: true
Попробуйте перезапустить вашу IDE и попытаться сохранить имя приложения строчными буквами.
(spring.application.name=service-service)
Создайте bootstrap.properties и добавьте:
spring.application.name = <instanceName>
затем в application.properties установите:
eureka.instance.hostname=<hostname>
eureka.instance.instance-id=${spring.application.name}:${random.int} // to have a unique instance id
Я тоже столкнулся с той же проблемой. В моем файле application.properties в клиентском приложении Spring пытается подключиться к
eureka
сервер, у меня была опечатка
application.name=servicename
После исправления на
spring.application.name
, имя экземпляра появилось на
eureka
приборная доска.
Я столкнулся с аналогичной проблемой: если вы добавляете свойства в файл, убедитесь, что у вас есть необходимые места для добавления правильной конфигурации, ниже приведен мойapp.yaml
файл, и это сработало для меня.
server:
port: 8089
spring:
datasource:
url: jdbc:mysql://${DB_HOST:localhost}:3306/productdb
username: root
password: root
driverClassName: com.mysql.cj.jdbc.Driver
jpa:
database-platform: org.hibernate.dialect.MySQL8Dialect
hibernate:
ddl-auto: update
application:
name: product-service
eureka:
instance:
prefer-ip-address: true
client:
fetch-registry: true
register-with-eureka: true
service-url:
defaultZone: http://localhost:8761/eureka/
Это работает вот такspring.application.name=product-service
. Поэтому мы предоставляем одну табуляцию или два пробела здесь после «весны» при написании «приложения», затем еще одну табуляцию при написании «имени» и далее имени.