SpringCloud 2021.0.1 SpringCloudGateway 3.1.1新版中GlobalFilter使用OpenFeign失败(503)的问题

在SpringCloud 2021.0.1 和 SpringCloudGateway 3.1.1版本中,使用GlobalFilter结合OpenFeign会遇到503错误。解决方案是将GlobalFilter改为WebFilter,并使用Future包裹Feign调用。在网关过滤器中通过FeignHolder来处理OpenFeign调用,避免同步调用导致的异常。升级SpringBoot至2.6.6,添加spring-cloud-loadbalancer作为负载均衡组件。注意,使用SpringApplicationContext获取bean仍需异步处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringCloud 2021.0.1 SpringCloudGateway 3.1.1新版中GlobalFilter使用OpenFeign失败的问题

简单说下好了,这个问题其实在springCloud移除ribbon之后就出现的
之前我用的版本是SpringCloud Hoxton.SR8,具体这个版本里还有没有ribbon也没有去看了,反正这会在gateway里使用feign是没有任何问题的
也可能依赖中单独添加了ribbon没注意,这不因为springCloudGateway爆出来的漏洞嘛(某台生产服务器已经被黑过,
直接往redis里搞了一条gateway的路由信息,导致整个应用进不去,还好这个大哥只是试试水,别的并没有干什么),所以无奈必须升级

各依赖版本

SpringCloud : 2021.0.1 对应gateway是3.1.1
alibabaNacos: 2021.1
springBoot: 2.6.6 (这个也是因为漏洞问题,虽然没说非war包会不会咋样,一并升了吧,之前用的2.5.1版本并不低,升级不算太困难,如果是2.3.0以下的小伙伴可就有的折腾了)

这里只说明升级之后SpringCloudGateway的使用openFeign(3.1.1)的问题
首先,可以完全确认,上面版本中无论是springCloud还是nacos,都已经没有集成任何默认的负载均衡组件,所以升级后第一件事就是添加一个负载均衡组件,否则启动不了或者是无法路由服务,ribbon已被抛弃,直接引入spring-cloud-loadbalancer即可(每个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值