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

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

参考

相关推荐
万少9 小时前
一封邮件,让我重新打开了搁置半年的鸿蒙应用
前端·javascript·后端
Java编程爱好者9 小时前
手把手看懂 Java 字节码:讲透 Integer 判等、静态方法重写与 try-finally 核心底层
后端
Flittly9 小时前
【AgentScope Java新手村系列】(2)第一个Agent-基础对话
java·spring boot·spring·ai
踏浪无痕9 小时前
k8s发布服务,nacos未服务未下线紧急处理流程
后端
TYKJ0239 小时前
物理安全:顶级机房为什么需要刷脸+指纹+工牌
后端
程序员黑豆9 小时前
AI全栈开发 - Java:注释
前端·后端·ai编程
摇滚侠9 小时前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
小二·9 小时前
Spring Boot 3 + Vue 3 全栈开发实战
vue.js·spring boot·后端
仿生joe会梦见漫天的大雪吗10 小时前
CTF学习笔记03:密码口令 —— 从弱口令到字典爆破
后端
自进化Agent智能体10 小时前
从零到一玩转Hermes Agent:VPS部署 × 模型配置 × 记忆架构 × 多Agent协作
后端