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

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

参考

相关推荐
稚辉君6 分钟前
Gemini永久会员 01不等概率随机到01等概率随机
后端
3***68847 分钟前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
k***45997 分钟前
【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
xml·spring·mybatis
z***565616 分钟前
springboot整合mybatis-plus(保姆教学) 及搭建项目
spring boot·后端·mybatis
q***448121 分钟前
spring实例化对象的几种方式(使用XML配置文件)
xml·java·spring
q***985223 分钟前
Spring Boot:Java开发的神奇加速器(二)
java·spring boot·后端
小蒜学长36 分钟前
基于spring boot的汽车4s店管理系统(代码+数据库+LW)
java·数据库·spring boot·后端·汽车
q***420538 分钟前
Spring Data 什么是Spring Data 理解
java·后端·spring
一 乐39 分钟前
餐厅管理智能点餐系统|基于java+ Springboot的餐厅管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
用户345848285051 小时前
Java中还有哪些方式可以保证多线程环境下的原子性?
后端