实例名称在 Eureka Dashboard 上显示为“未知”,而不是服务名称

问题描述 投票:0回答:7

我正在使用 Spring boot 开发微服务并使用 eureka 作为服务器。我已在 Eureka 服务器上注册了我的服务,但在 Eureka Dashboard 上,服务名称显示为“未知”,而不是我在 application.yml 中配置的服务名称。

下面是两个 yml 配置 服务器: 端口:8761

春天: 应用: 名称:尤里卡服务器

尤里卡: 实例: 主机名:本地主机 客户: 注册尤里卡:假 获取注册表: false 服务网址: 默认区域:http://${eureka.instance.hostname}:${server.port}/eureka/


尤里卡: 客户: 服务网址: 默认区域:http://localhost:8761/eureka/ 实例: 应用程序名称:报告引擎 服务器: 端口:0 实例: 首选IP地址:true 春天: 应用: 名称:报告引擎


service registry netflix-eureka
7个回答
2
投票

尝试创建一个 bootstrap.yml 文件并添加以下内容:

spring.application.name = instanceName

1
投票

在您的 application.yml 文件中:

spring:
  application:
    name: yourname
eureka:
  instance:
     instanceId: ${spring.application.name}

“instanceId”对于满足您的需求很重要。


1
投票

将属性default-zone更改为defaultZone。我与你分享对我有用的东西。

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

0
投票

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

0
投票

我也面临同样的问题。在尝试连接到

eureka
服务器的 Spring 客户端应用程序上的 application.properties 文件中,我有一个拼写错误
application.name=servicename

将其更正为

spring.application.name
后,实例名称显示在
eureka
仪表板上。


0
投票

尝试重新启动您的IDE并尝试将应用程序名称保留为小写字母

( spring.application.name=order-service )


0
投票

如果您在 app.yaml 文件中添加属性,请确保为要添加的正确配置提供适当的空间,我也遇到过类似的问题,下面是我的 app.yaml 文件,它对我有用;

服务器: 端口:8089 春天: 数据源: url: jdbc:mysql://${DB_HOST:localhost}:3306/productdb 用户名:根 密码:根 driverClassName: com.mysql.cj.jdbc.Driver 杰帕: 数据库平台:org.hibernate.dialect.MySQL8Dialect 休眠: ddl-auto:更新 应用: 名称:产品服务

尤里卡: 实例: 首选 IP 地址:true 客户: 获取注册表:true 注册到尤里卡: true 服务网址: 默认区域:http://localhost:8761/eureka/

它的工作原理如下 spring.application.name=product-service 因此,我们在写入“application”时在“spring”之后提供一个制表符或 2 个空格,然后在写入“name”时再提供一个制表符,然后再输入名称

© www.soinside.com 2019 - 2024. All rights reserved.