美文网首页
consul微服务Critical问题(即健康检查404问题or

consul微服务Critical问题(即健康检查404问题or

作者: 哎一古啊 | 来源:发表于2020-07-17 11:10 被阅读0次
    image.png

    在网上查到了很多原因,基本上为springboot和springcloud版本不对应导致的接口地址变更,最后排查发现跟那个没啥关系,其实很简单......
    正常情况下consul的健康检查接口只认识ip:port/actuator/health接口,即正常情况下你通过这个地址是可以访问到consul的各个微服务的健康状态的,但是我访问却是404,这也是导致consul图形化界面有check红叉的原因,也是微服务在consul注册中心虽然有但是微服务间通过实例名称访问却报404未找到微服务的原因。


    image.png

    原因是我的项目本身配置加上了context_path导致consul访问ip:port/actuator/health报404了,健康检查失败了。微服务实例虽然在注册中心有,但是微服务自检失败,该服务不可用,所以图形化界面红叉,所以健康检查接口404,所以微服务间通过微服务实例名称访问报404未找到该服务。


    image.png
    加上context_path的健康检查接口就可以正常访问,但是consul本身不认识
    image.png
    解决办法:1.去掉context_path 2.自定义健康检查接口实现。
    我用的第一步,第二步网上也有教程
    image.png
    image.png

    当然上面返回的状态信息比较详细,正常情况下只有一个返回status:up,要想这么详细还需要暴露更多的状态配置


    image.png
    image.png
    微服务间通过微服务实例名称访问,404未找到该微服务实例名称的原因 解决!
    这仅是我遇到的问题,可能也有其他原因造成,比如说版本原因,可以尝试。

    相关文章

      网友评论

          本文标题:consul微服务Critical问题(即健康检查404问题or

          本文链接:https://www.haomeiwen.com/subject/ymawhktx.html