SpringCloud FeignClient声明式服务调用采坑记录(A调用服务B/C,B/C重启后必须重启A后才能成功调用配置项)

SpringCloud FeignClient声明式服务调用(A调用服务B/C,B/C重启后必须重启A后才能成功调用配置项采坑记录)

    • [1. 报错(info级别的警告信息)](#1. 报错(info级别的警告信息))
    • [2. 原因:使用了默认了cache负载均衡,或者禁用了ribbonLoadBalancer](#2. 原因:使用了默认了cache负载均衡,或者禁用了ribbonLoadBalancer)
    • [3. 解决](#3. 解决)
    • 参考

SpringCloud 注册中心eureka,配置中心config,其他服务(可随时拓展/缩减节点),feign声明式服务调用,ribbon负载均衡,hytrix熔断等成熟的组件,让SpringCloud上手简单,好用。

遇到一个困扰的问题:服务A,B,C都注册到了同一个注册中心,服务A会Feign调用B/C服务的接口,当B/C服务重启后,假若不重启服务A,则无法调用到接口。

通过restTemplate接口获取B/Cf服务地址并打印,在重启服务B/C前后,均可以看到 原始的ip:port,原始的ip:port+新ip:port,新ip:port,可判断eureka与服务之间是正常通信注册与下线的。

然而为何还是调不到。

可能是负载均衡不对,然后查看启动日志:撇到一行:Spring Cloud LoadBalancer is currently working with the default cache.

1. 报错(info级别的警告信息)

警告⚠完整信息如下:

2. 原因:使用了默认了cache负载均衡,或者禁用了ribbonLoadBalancer

3. 解决

正确的应该如下:

进一步检查配置项发现bootstrap.yml里禁止了ribbonLoadBalancer (⊙﹏⊙)

删掉/或者修改为如下好了,呃呃呃呃...

参考

相关推荐
Cosolar12 小时前
不收费、不加水印、数据归你:我做了个开源的在线简历工具
后端·面试·前端框架
步行cgn14 小时前
StringHttpMessageConverter 详解:Spring MVC 中字符串读写的默认转换器
java·spring·mvc
小蒜学长14 小时前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
陈随易14 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
每天一道题14 小时前
CAP、Raft 与多数派:分布式系统如何达成一致?
分布式·后端·微服务
前端的日常15 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
IT_陈寒15 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
步行cgn16 小时前
@ResponseBody 详解:Spring MVC 中把返回值直接写入响应体
java·spring·mvc
ServBay16 小时前
本地模型已经跑起来了,Copilot Fusion 为什么还要联网?
后端·ai编程·github copilot
武子康17 小时前
H3-World 的动作没按时发生,先检查时间线变成了什么
人工智能·后端·agent