一、如果你不是首次时间长而是每次时间都长的话,这个问题可以从以下的几个点去筛选排查
1. 新建专门测试的接口,内部没有sql调用等业务逻辑,就看调用返回所需时间是多少,调用十次都记录下来
2. 因为feign底层是http调用,那也可以把feign调用改成HttpUtil的调用,查看用HttpUtil后,测试接口返回所需时间是多少,调用十次都记录下来
3. 调用同一个测试接口,如果第1种方法,平均调用时间都很长,而第2种方法平均时长都很低,那就有可能与feign本身有关。如果两种方法平均时长都很长,那就与feign无关,需要排查其他地方。
二、如果确认是feign的问题,那么就需要对feign的内部结构进行改造排查
1. 到bladex-tool内找到blade-core-cloud包,把和feign相关的封装列一下,然后逐个删除,再执行install,然后测试feign调用时间
2. 把一些额外配置删除,逐步到原生的feign,就可以找到是哪一块配置的问题,具体截图如下,后续找到相关问题可以继续完善帖子,或者给我们发邮件:bladejava@qq.com
三、不过我感觉应该不是feign本身的问题,因为我们部署的时候,只有首次feign调用,创建缓存的时候会时间长一点,之后调用都是很快的
扫一扫访问 Blade技术社区 移动端