我的问题
早先写的feign接口,一直都是能正常调用的,突然就报错了,检查了期间的改动,确认没有直接涉及到feign相关接口的改动,没有涉及到feign相关配置的改动。
最后我的问题是怎么解决的
最后偶然的情况下,改另一个业务功能时,改动了一下腾讯IM的功能,后面一测试发现feign接口居然通了,万万没想到。
系统的基本情况:
共5个微服务
2个消费者;admin、web
3个服务提供者:user、order、live
说一下中间发生的几个事件:
- 9.14号之前 feign接口都是通的;
- 9.14号凌晨我在IM里面加了一个初始化官方账号的东南功能
- 加了加了上述功能后发布重启,9.14号白天就看到feign接口调不通了
- 然后按照常规的方法搜了一些解决办法,都不适用
- 看了这段时间的git提交记录,没发现有啥feign相关的改动,就很纳闷
- 先不管这个问题,继续写业务功能代码,就改动了im里面的这个地方,初始化前增加了判断,项目共有5个微服组成,之前没加判断,所以5个服务都会去执行这个初始化操作,虽然业务上多次重复初始化也没影响,但是看着不安逸,就给加了个条件,改到了web服务区初始化,然后测试发现admin的feign可以调通了,但是后面又试了web服务,feign还是报哪个错。
- 后面又把上面那个im的判断改到user服务里面去初始化,一试,admin、web都能成功调通feign接口了。
- 卧槽,大呼神奇,虽然我还没搞懂是什么原理,但确实是解决问题了。
im初始化功能是通过HTTP调用的腾讯的api接口。
最后如果有大佬知道原理的希望能交流指导一下。
feign调用突然就报错了,之前是好好的,没有改动过相关的代码或配置
开始用POST方式出错了
改成GET方式还是出错
该feign接口里面还包含有其他的接口方法
对外接口
feign接口
feign实现
springboot 3.3.0、springcloud 2023
截取的feign请求
中间其他常规排查省略…