【问题标题】:Spring Cloud Consul's discovery client returns failing instancesSpring Cloud Consul 的发现客户端返回失败的实例
【发布时间】:2017-10-28 09:55:50
【问题描述】:

我使用 Spring Cloud Consul 来发现我的应用程序所需的服务。发现客户端返回请求服务的所有注册实例,尽管我也返回失败的实例。

Consul 本身将失败的实例正确地标记为失败(严重)。

那么,为什么发现客户端不删除关键/失败的实例?或者描述这个的文档在哪里?

【问题讨论】:

  • 根据代码,它似乎返回所有已知实例而不注意检查的状态。实际上它知道实例检查失败但不处理。

标签: spring spring-boot consul service-discovery


【解决方案1】:

看了Spring Cloud Consul的源码发现我要设置属性spring.cloud.consul.discovery.queryPassing如下

java -Dspring.cloud.consul.discovery.queryPassing=true ...`

相关源文件有:

设置此属性后,Consul 的发现客户端将仅返回那些通过所有 Consul 健康检查的实例。

【讨论】:

  • 非常感谢!你真的节省了我的时间和精力。我不明白为什么文档中没有描述如此重要的属性!
猜你喜欢
  • 2015-09-24
  • 2021-08-08
  • 2016-08-18
  • 2019-06-10
  • 1970-01-01
  • 2017-03-01
  • 2017-03-25
  • 2016-07-20
  • 2020-05-18
相关资源
最近更新 更多