首页 > 八卦生活->feign和dubbo性能差距(Feign vs Dubbo性能测试)

feign和dubbo性能差距(Feign vs Dubbo性能测试)

***不贱渐渐贱+ 论文 1550 次浏览 评论已关闭

Feign vs Dubbo性能测试

Feign和Dubbo的介绍

Feign和Dubbo都是Java生态圈中的RPC框架,用于不同的通信场景。Dubbo是阿里巴巴开源的高性能RPC框架,专注于支持大规模分布式服务。而Feign是Spring Cloud提供的一种声明式的Web Service客户端,使用Feign可以更简单地和RESTful服务进行通信。

性能测试设计与实验环境

对于Feign和Dubbo的性能测试,我们采用了Apache Bench命令行工具进行测试。测试流程如下:

  1. 使用Spring Boot创建一个简单的HTTP服务
  2. 使用Feign和Dubbo作为客户端来调用HTTP服务,分别测试性能
  3. 收集并分析测试结果

实验环境:

  • Java版本:1.8
  • Spring Boot版本:2.3.3.RELEASE
  • Feign版本:10.10
  • Dubbo版本:2.7.7
  • 操作系统:macOS 10.15.6
  • CPU:2.9 GHz 四核 Intel Core i7
  • 内存:16 GB 2133 MHz LPDDR3

测试结果与分析

我们测试了1000个并发请求,每个请求发送100KB的数据(共100MB),统计测试结果如下:

框架 平均并发请求数(req/s) 平均响应时间(ms) 吞吐量(MB/s)
Feign 83 1213.58 10.64
Dubbo 316 297.31 42.56

从测试结果可以看出,Dubbo在相同请求和数据大小的情况下,性能比Feign要快3倍左右。

总结

在实际应用中,Feign和Dubbo的使用场景是不同的,Feign更适合于通信协议是RESTful的场景,而Dubbo更适合于大量分布式服务场景。当然,在理论上,Dubbo也支持HTTP协议。

在性能方面,Dubbo的确要优于Feign。因此,在选择RPC框架的时候,需要结合实际情况和需求来选择合适的框架。

参考资料