WebApi网关之Bumblebee和Ocelot性能对比

Bumblebee是基于.net core 2.1开发的WebApi网关组件,由于Bumblebee所追求的轻量化和性能,所以它并没有像Ocelot那样从asp.net core上进行扩展;而是构建在BeetleX.FastHttpApi之上,主要原因BeetleX.FastHttpApi有着更轻量化和高性能的特点。虽然Bumblebee追求的是轻量化和性能, 不过具备的功能也不少,先看一下它能做什么:

640?wx_fmt=png

为了确保网关的性能,组件也重写了一个精简的HttpClient用于满足网关性能的需要;在这精简化的背后底能得到怎样的性能提升呢?接下来和Ocelot做一个基础转发性能对比。

测试描述

为了让测试更标准化,后台提供的服务基于asp.net core webapi,而Bumblebee和Ocelot则作为网关代理请求;然后分别用ab(开启K参数)和bombardier分别在500,1000,2000连接数的情况测试相应的RPS情况。

测试环境

  • 网关服务器:e3-1230v2 16g内存(4核8线程)

  • webapi服务器:e5-2670v2 32g内存(10核20线程)

  • 压测服务器:e5-2670v2 32g内存(10核20线程)

  • 测试带宽:光模块10Gb

测试webapi代码

由于是测试基础性能,所以webapi的代码并没有逻辑,只是一个简单的基础服务代码:

640?wx_fmt=png


Bumblebee网关配置

640?wx_fmt=png


Ocelot网关配置

640?wx_fmt=png

测试代码地址

https://github.com/IKende/Bumblebee/tree/master/BumblebeeVSOcelot

AB测试结果

640?wx_fmt=png

bombardier测试结果

640?wx_fmt=png

总结

从两者的测试结果看,Bumblebee性能基本是Ocelot的4倍 所以精简化带来的性能提升还是非常明显的。不过实际应用中性能并不是唯一应用的指标,Ocelot虽然性能不高但也在集成上的优势何况有多少业务需要这么高的并发业务呢?如果你追求一个精简高性的网关可以考虑Bumblebee,但如果希望一个集成规模更大,有着更好的社区资料那必然是Ocelot。

原文地址:https://mp.weixin.qq.com/s/qkjw7UOFHL1mR35C4iogdg

 
 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
640?wx_fmt=jpeg


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值