spring boot

Feign的性能优化

2019-08-20  本文已影响0人  初心myp

我们可以通过查看Feign的底层源码看到,Feign的默认使用的URLConnection去发送请求的,他是没有连接池的。但是Feign底层除了使用URLConnection发送请求以外,还支持使用Apache的HTTPClient以及OKHTTP去发送请求,而Apache的HTTPClient以及OKHTTP都是支持连接池的

性能优化1----配置连接池

配置连接池之后,性能大约能提升15%左右

使用Apache的HTTPClient为例,来为Feign配置连接池

第一步:加依赖

        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-httpclient</artifactId>
            <version>10.1.0</version>
        </dependency>

第二步:添加配置

feign:
  httpclient:
    # 让feign使用Apache HTTPClient做请求,而不是默认的urlConnection
    enabled: true
    # feign最大连接数
    max-connections: 200
    # feign单个路径的最大连接数
    max-connections-per-route: 50
使用Apache的HTTPClient为例,来为Feign配置连接池

第一步:加依赖

        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-okhttp</artifactId>
            <version>10.1.0</version>
        </dependency>

第二步:添加配置

feign:
  httpclient:
    # feign最大连接数
    max-connections: 200
    # feign单个路径的最大连接数
    max-connections-per-route: 50
  okhttp:
    # 让feign使用Apache okhttp做请求,而不是默认的urlConnection
    enabled: true

性能优化2----设置合理的日志级别

在生产环境,需要打印feign的日志,使用basic级别就ok了,强烈不建议使用full。打印日志太多,消耗feign的性能。
设置日志级别参考文章Feign声明式HTTP客户端

上一篇 下一篇

猜你喜欢

热点阅读