Spring cloud 之consul 踩坑记录

Spring cloud使用consul,网上许多教程,这里就不重复教程了。
1.在学习spring cloud过程中,碰过项目成功启动,没有报错信息,但是服务并没有注册到consul
排查结果:依赖版本不对,必须使用正确的版本。版本对应如下:

Spring CloudSpring Boot
Finchley兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x
Dalston和Edgware兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x
Camden兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x
Brixton兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x
Angel兼容Spring Boot 1.2.x

2.服务注册成功但是显示不健康。
产生原因
注册到eureka server的服务,如果开启了健康检查,spring boot程序会隔一小段时间就检查一下配置的一些外部资源是否可用,比如各种数据源是否能联通,如果任意一个配置无法正常连通,就会向eureka server推送消息让该实例下线。这相当于是一个hearbeat,检查各个实例是否能正常使用。当然自己也可以自己实现HealthCheckHandler来个性化健康检测,甚至给一个REST接口更改getStatus()返回值。

原因清楚了那么就自己写一个接口做健康检查。

 @RequestMapping("/home")
    public String home() {
        return "Hello World";
    }

再修改配置(这里需要仔细一些,注意别打错了也得小心缩进问题,不然可能配置不生效):

spring:
 application:
  name: springClound2
 cloud:
  consul:
   host: 127.0.0.1
   port: 8500
   discovery:
    serviceName: springClound3
    healthCheckPath: /home
    healthCheckInterval: 15s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值