启用 eureka.client.healthcheck
Posted
技术标签:
【中文标题】启用 eureka.client.healthcheck【英文标题】:Enable eureka.client.healthcheck 【发布时间】:2016-05-02 23:06:47 【问题描述】:我关注http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html用Spring Cloud搭建分布式系统。
除了 Eureka Client Healthcheck 之外,所有工作都按预期工作。
我有
尤里卡: 客户: 健康检查: 启用:真
并将我的服务指向不存在的 config_server,这会导致
http://myservice:8080/health 状态:“关闭”
但 Eureka 服务器仍将此实例显示为 UP 并继续向其发送流量。
我错过了什么?
spring-boot: 1.2.8.RELEASE
spring-cloud-netflix : 1.0.4.RELEASE
【问题讨论】:
请附上使用过的Spring Cloud版本。顺便说一句,eureka 有时需要一段时间才能注意到服务已关闭(这取决于您的服务如何向其发送心跳)。你试过等一会儿吗? 【参考方案1】:您必须显式设置eureka.client.healthcheck.enabled=true
以将 Spring Boot 健康指标链接到 Eureka 注册。源码参考:here.
【讨论】:
【参考方案2】:好的,我想我找到了。
根据https://jmnarloch.wordpress.com/2015/09/02/spring-cloud-fixing-eureka-application-status/,此功能仅适用于 Spring Cloud 1.1。
要使其与 1.0.4 一起使用,我需要实现自己的 HealthCheckHandler。
感谢 @xtreme-biker 提出 Spring Cloud 版本问题。
【讨论】:
不客气。下次请注意您使用的版本,检查文档以了解确切的版本,如果有任何问题,请提供问题中的数字,因为它总是相关的。以上是关于启用 eureka.client.healthcheck的主要内容,如果未能解决你的问题,请参考以下文章