美文网首页spring boot
Feign的性能优化

Feign的性能优化

作者: 初心myp | 来源:发表于2019-08-20 16:55 被阅读0次

    我们可以通过查看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客户端

    相关文章

      网友评论

        本文标题:Feign的性能优化

        本文链接:https://www.haomeiwen.com/subject/lwbpsctx.html