Feign性能优化及最佳实践
Feign性能优化
默认使用的是URLConnection ,但是此方式不支持连接池,可以使用其他两种方式替代

配置
添加HttpClient支持:

Feign的最佳实践
方式一:消费者的FeignClient和提供者的controller定义统一的父接口
消费者的FeignClient 客户端:(调用提供者的接口)

提供者的controller:

定义一个公共的接口,让消费者的FeignClient客户端继承这个接口,提供者的controller实现这个接口,但是不推荐这样做,因为提供者的controller实现这个接口时候,参数不可继承,得再写一次,并且服务的耦合度高

方式二:把FeignClient客户端以及pojo和默认配置抽取为独立模块,提供给所有消费者使用
多个服务都要调用userservice,每个消费者都要写FeignClient客户端,把整个FeignClient客户端抽取出来变成共通的,并且用到的pojo也定义好,配置文件也配置好,那个消费者需要调用userservice服务时候,直接jar包引入共通的FeignClient客户端。直接调取userservice服务

操作步骤:

新建maven项目,也就是新建个module,引入依赖

建立FeignClient客户端,配置,和对应的pojo

消费者中引入module,把公用的FeignClient引入

service中启动类加上配置

service中调用公用的FeignClient,注入报错。因为客户端上的注解@FeignClient,spring扫描到这个注解,会给客户端这个接口创建对象,现在消费者的启动类默认扫描启动类所在的包

方式一是加载所有的feignClient,方式二是只加载指定的feignClient

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)