feign性能配置调优

最近在使用 feign 时,有时会出现连接异常/阻塞的情况,对 feign 的配置进行了简单的调优。
替换了 feign 的 client, 并调整了连接数。

替换 feign的 http客户端:

Feign在默认情况下使用的是JDK原生的 URLConnection 发送HTTP请求,没有连接池。性能较差。
每次Http请求,需要三次握手去建立连接,完成后再断开连接。性能损耗是比较大的。
可以尝试替换成 httpclient 或者 okhttp,就会使用连接池,还可以调整最大连接数。

修改 application.yml :

feign:
#  okhttp:
#    enabled: true
  httpclient:
    enabled: true
    # 调整连接数,要谨慎些。如果连接数过大也会影响系统。如果不确定,也可以先不修改。
    max-connections: 200
    # 每个路径的最大连接数
    max-connections-per-route: 50
  # 超时时间,可以适当调整。超时时间过长,会导致连接长时间被占用,可用连接变少,影响性能。如果不确定,也可以先不修改。
  connectTimeout: 5000
  readTimeOut: 5000  

技术选型

如果对性能的要求比较高,在 服务调用上,优选 Rpc (比如 Dubbo) 。
Rpc 可以基于二进制协议进行传输,消息体比较简单,传输数据要小很多,性能比 基于 http的 feign 要好些。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值