Spring Cloud整合配置中心Eureka中的服务状态显示UNKOWN

栏目: Java · 发布时间: 6年前

内容简介:今天在研究Spring Cloud的配置中心的时候,发现将应用的配置移到git上,启动应用后发现,在Euraka注册中心上这个应用的状态始终为UNKOWN,可是这个应用是可以提供服务的。下面是应用的bootstrap的配置:日志打印应用的状态:这些配置肯定没有什么问题,因为这些配置在没有挪到bootstrap.yml中之前都是可以正常使用的。现在Eureka注册中心却不能检测到应用的状态,这样让我百思不得其解。后来我在stackoverflow上找到了答案

今天在研究Spring Cloud的配置中心的时候,发现将应用的配置移到git上,启动应用后发现,在Euraka注册中心上这个应用的状态始终为UNKOWN,可是这个应用是可以提供服务的。下面是应用的bootstrap的配置:

spring:
  application:
    name: search-provider
  cloud:
    config:
      name: search-config
      profile: dev
      label: master
      discovery:
        enabled: true
        service-id: config-server
eureka:
    client:
        fetch-registry: true
        register-with-eureka: true
        healthcheck:
           enabled: true
        service-url:
          defaultZone: http://xxxx:xxxx@xxx.ydstudio.net:xxx/eureka/
    instance:
        #instance-id默认值是主机名:应用名:应用端口 instance-id: ${spring.application.name}:${random.value}
        #instance-id: ${spring.cloud.client.ipAddress}:${server.port}
        instance-id: ${spring.cloud.client.ipAddress}:${spring.application.name}:${server.port}
        hostname: ${spring.cloud.client.ipAddress}
        #hostname: ${spring.application.name}
        # 默认30s,表示eureka client发送心跳给server端的频率
        lease-renewal-interval-in-seconds: 15
        # 默认90s,表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance
        lease-expiration-duration-in-seconds: 25
        # 将自己的ip显示到EuekaServer上
        prefer-ip-address: true

日志打印应用的状态:

StatusChangeEvent [timestamp=1536481926709, current=UNKNOWN, previous=UP]

这些配置肯定没有什么问题,因为这些配置在没有挪到bootstrap.yml中之前都是可以正常使用的。现在Eureka注册中心却不能检测到应用的状态,这样让我百思不得其解。后来我在stackoverflow上找到了答案

stackoverflow地址 ,问题只有一个答案,其中重要内容如下:

eureka.client.healthcheck.enabled=true should only be set in  application.yml. Setting the value in bootstrap.yml will cause undesirable side effects like registering in eureka with an  UNKNOWN status.

知道这一点后我将bootstrap.yml中的内容修改如下面一样:

spring:
  application:
    name: search-provider
  cloud:
    config:
      name: search-config
      profile: dev
      label: master
      #uri: http://localhost:9008
      discovery:
        enabled: true
        service-id: config-server

eureka:
    client:
        fetch-registry: true
        register-with-eureka: true
        healthcheck:
           enabled: true
        service-url:
          defaultZone: http://xxxx:xxxx@xxx.ydstudio.net:xxx/eureka/

在Eureka注册中心中应用的状态就显示正常了!

最后更新于 2018-09-09 17:40:25 并被添加「spring cloud eureka」标签,已有 3 位童鞋阅读过。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解C#(第3版)

深入理解C#(第3版)

斯基特 (Jon Skeet) / 姚琪琳 / 人民邮电出版社 / 2014-4-1 / 99.00元

本书是世界顶级技术专家“十年磨一剑”的经典之作,在C#和.NET领域享有盛誉。与其他泛泛介绍C#的书籍不同,本书深度探究C#的特性,并结合技术发展,引领读者深入C#的时空。作者从语言设计的动机出发,介绍支持这些特性的核心概念。作者将新的语言特性放在C#语言发展的背景之上,用极富实际意义的示例,向读者展示编写代码和设计解决方案的最佳方式。同时作者将多年的C#开发经验与读者分享,读者可咀其精华、免走弯......一起来看看 《深入理解C#(第3版)》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试