使用连接池对于feign的远程调用的优化
发布时间:2023年12月17日
- Feign底层发起http请求时,默认使用URLConnection发起http请求,不支持连接池操作,那么为了提高Feign的性能,可以采用的手段是使用连接池代替默认的URLConnection
- 支持连接池的http客户端
- Apache HttpClient
- OKHttp
- 本示例采用的是Apache HttpClient进行连接池集成
- 首先在maven的pom文件中添加feign-httpclient依赖
-
<!-- httpClient的依赖 -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>
- 在application.yml文件中添加连接池配置信息
-
feign:
client:
config:
# 指的是@FeignClient中的value设定的值,也就是对应的微服务名称
nacos-feign-user-service:
# 日志级别
loggerLevel: NONE
httpclient:
# 开启feign对HttpClient的支持
enabled: true
# 最大的连接数,根据实际压测数据调整
max-connections: 256
# 每个路径的最大连接数,根据实际压测数据调整
max-connections-per-route: 64
- 相关完整配置官网详细信息
- Common application properties (spring.io)
- 如何验证连接池已经生效
- 找到源码类FeignClientFactoryBean,在loadBalance的方法内打断点调试
- 然后通过debug模式启动微服务,断点出现之后向下执行可以看出client为ApacheHttpClient即可说明已经生效
文章来源:https://blog.csdn.net/weixin_41926152/article/details/135035203
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!