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

Posted

技术标签:

【中文标题】实例名称在 Eureka Dashboard 上显示为“未知”而不是服务名称【英文标题】:Instance name is displayed as "unknown" on Eureka Dashboard instead of service name 【发布时间】:2017-10-12 03:09:07 【问题描述】:

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

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

弹簧: 应用: 名称:尤里卡服务器

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


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


【问题讨论】:

任何想法?我收到此错误。 我已经提到了 spring.application.name=sample 【参考方案1】:

尝试创建一个 bootstrap.yml 文件并添加:

spring.application.name = instanceName

【讨论】:

我一直想知道bootstrap.yml和application.yml有什么区别。我知道 bootstrap.yml 包含运行它的应用程序名称和服务器端口等属性。【参考方案2】:

在您的 applicaton.yml 文件中:

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

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

【讨论】:

【参考方案3】:

通过 defaultZone 更改属性 default-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

【讨论】:

【参考方案4】:

我也遇到了同样的问题。在我试图连接到eureka 服务器的spring 客户端应用程序的application.properties 文件中,我有一个错字application.name=servicename

将其更正为spring.application.name 后,实例名称出现在eureka 仪表板上。

【讨论】:

【参考方案5】:

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

【讨论】:

以上是关于实例名称在 Eureka Dashboard 上显示为“未知”而不是服务名称的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Eureka - Eureka配置列表

Eureka 实例应用程序名称不适用于 Spring Cloud Gateway

如何在实体框架迁移的“一半”多对多上显式设置索引或外键的名称?

Spring Cloud断路器监控(Hystrix Dashboard)

创建Eureka Server集群

Euraka配置详解