当前位置:网站首页>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等都一起引入进来了,增加项目模块大小
方式二的实现
边栏推荐
猜你喜欢
How to set timed network disconnection to assist self-discipline in win10
【历史上的今天】8 月 8 日:中国第一个校园 BBS 成立;网景通信上市;EarthLink 创始人出生
List<String>用空串替换null值,并且都加上单引号,并且转为字符串用,分割
Neo4j:一、CQL语句
DSPE-PEG-Biotin,385437-57-0,磷脂-聚乙二醇-生物素用于生物分子的检测和纯化
dp,dpi,px知识补充
用皮肤“听”音乐,网友戴上这款装备听音乐会:仿佛住在钢琴里
uri (url urn 的区别)
基于simulink的风力机房温度控制系统仿真
微信小程序云开发 | 插件的微信小程序云开发
随机推荐
数据压缩和归档(三)、tarfile
前缀和的本质
How banner displays drawable images
torchvision.transforms
Fluorescein-PEG-CLS,胆固醇-聚乙二醇-荧光素用于缩短包封周期
数字货币永续合约交易所开发开发功能以及代码呈现
CF533B(树形dp+转移技巧)
21天学习第六天--方法
AtCoder Regular Contest 145
CF1716D(“按顺序“的完全背包)
mysql中模糊查询的四种用法介绍
CS231n: 12 Reinforcement Learning
Node基于TCP建立的服务器
Tess4J OCR简单使用教程
Prometheus+Grafana监控系统
what‘s the meaning of build-essential
多线程之不可变对象
牛客2022 暑期多校6 B Eezie and Pie(树上差分 + 倍增求第 kth 祖先板子)
poj1363 Rails(栈模拟)
为什么需要交叉编译器