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 (⊙﹏⊙)

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

参考

相关推荐
Nturmoils42 分钟前
订单查询丢数据,查了半天原来是 WHERE 惹的祸
数据库·后端
叫我Paul就好44 分钟前
自从用上 Agents View 之后, 我的心力交瘁感消失了
后端
SamDeepThinking1 小时前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
niuju1 小时前
一种基于 Agent 的需求规范化闭环实践:让合规与规范内建于流程
后端
团团崽_七分甜1 小时前
四大数据库底层原理详解
后端
glartchen1 小时前
使用 Pixi 配置 Whisper 环境,实现采用本地大模型读取视频字幕
后端
站大爷IP1 小时前
明明传了参数,进程池却说没找到?记一次变量丢失的排查实录
后端
用户6757049885022 小时前
从失真到绝对精准:Go语言中如何进行高精度计算?
后端·go
程序员cxuan2 小时前
GPT-5.6 官宣解禁,明天全量发布!
人工智能·后端·程序员
郑州光合科技余经理2 小时前
海外外卖平台源码改造实战——多语言核心代码实现
java·开发语言·前端·后端·mysql·架构·php