当前位置:网站首页>feign的性能优化、Feign的使用-最佳优化两种方案
feign的性能优化、Feign的使用-最佳优化两种方案
2022-08-08 17:58:00 【茂桑】
性能优化基础:
feign底层客户端实现默认使用的是URLConnection,这是jdk自带的发送http请求的包,不支持连接池;
这样在发送http请求时,每次都要建立连接(三次握手),发送数据,断开连接(四次挥手),比较浪费性能、消耗时间
所以推荐使用另外两种底层实现(其中更推荐Apache HttpClient);
日志级别推荐设置basic和none,性能更好
性能优化配置设置:
1、httpclient已经被springboot管理版本,引入时,不需要加入版本号
2、在配置时,一定要把httpclient下的enable设置为true,使feign对httpclient的配置生效
3、feign的httpclient连接池的最大连接数,根据压力测试时,测出那个什么值性能最好就设置什么值,盲目的写多少,过大,过小都是不合适的。
Feign的使用-最佳实践
在实际开发项目使用feign的过程中,各公司逐渐对feign的使用方式有了更优的实践
方式一:继承与实现(不怎么推荐)
feign的客户端(服务消费者)和服务端(服务提供者)定义一个统一的父接口,这样统一管理,更加系统化
缺点:高耦合
方式二:抽取(推荐使用)
以前是客户端(服务消费者)写一套对服务端(服务提供者)的feign接口,这样当服务增多,每个服务都要写一套对该服务端的feign接口,且修改时也要一一修改;
现在反过来,由服务提供者自己抽取出一个feign的独立模块,其他服务中引入这个模块,即可调用这个服务了
缺点:引入这个服务端模块时,会将很多我这个客户端服务用不着的端口、pojo等都一起引入进来了,增加项目模块大小
方式二的实现
边栏推荐
猜你喜欢
随机推荐
记录贴:pytorch学习Part3
spark学习笔记(八)——sparkSQL概述-定义/特点/DataFrame/DataSet
mysql5.7安装教程(附下载链接)
LeaRun模型驱动开发框架 重塑企业生产力
建设必要的是什么意思
携手华为打造鲲鹏产业生态 | 麒麟信安亮相鲲鹏开发者创享日·长沙站
瑞利衰落条件下扩频通信系统误码率仿真
Superficial understanding of ports
2022年6月电子学会考级试卷真题解析(含答案和所有文档下载)
mv-lcd初始化
21天学习第六天--方法
为什么MySQL的主键查询这么快
【FPGA教程案例45】图像案例5——基于FPGA的图像均值滤波verilog实现,通过MATLAB进行辅助验证
21天学习第二天-类型转换
无需精子卵子子宫体外培育胚胎,Cell论文作者这番话让网友们炸了
超越CLIP的多模态模型,只需不到1%的训练数据!南加大最新研究来了
poj1363 Rails(栈模拟)
QT With OpenGL (Bloom) (Bloom)
Go源码之原子操作(atomic)
【历史上的今天】8 月 8 日:中国第一个校园 BBS 成立;网景通信上市;EarthLink 创始人出生