微服务报com.netflix.client.ClientException:Load balancer does not have avaliable server for client: xxx
【踩坑笔记】Rureka注册中心没有及时刷新注册进其的微服务
项目结构图
1.问题描述
最近在学习OpenFeign中的超时控制时,为了测试,创建了一个微服务项目cloud2020
,里面有一下三个微服务(分别是eureka-server7001注册中心
、cloud-provider-payment8001支付模块
、cloud-consumer-feign-order订单模块
),在分别依次启动eureka-server7001
->cloud-provider-payment8001
->cloud-consumer-feign-order
服务后,访问http://localhost:8000/consumer/payment/feign/timeout地址时正确结果应该是在页面显示8001
,然而却出现了以下错误:
**CLOUD-PAYMENT-SERVICE
**该服务没有被注册进·Eureka注册中心·,然而理论上来讲应该已经被注册进了,其他任何配置文件和代码什么的都没有问题。
2.问题解决
既然报了CLOUD-PAYMENT-SERVICE
服务没有注册进Eureka
,那我们就进入Eureka看看:
可以看到CLOUD-PAYMENT-SERVICE
服务确实已经被注册进Eureka
中了,我们刷新该网页之后再次访问http://localhost:8000/consumer/payment/feign/timeout地址
这时显示出了正确结果
3.问题总结
当我们碰到该类问题时,在排除了配置文件,代码等方面的错误后,如果依然报xxx服务没有被注册进Eureka时,打开Eureka的网页刷新一下,如果页面显示xxx服务已经被注册进其中,这时再次访问之前报错的url,就不会有问题了。该问题应该是Eureka自身的一些bug或者是一些别的隐藏知识点(我本人也是刚开始学习微服务,如果有对知识认识不正确或者理解错误的地方,请大家评论指出来,相互学习,在此先谢谢各位了~)
。
联系作者
QQ: 2805005861