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

为了确保网关的性能,组件也重写了一个精简的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的代码并没有逻辑,只是一个简单的基础服务代码:

Bumblebee网关配置

Ocelot网关配置

测试代码地址

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

AB测试结果

bombardier测试结果

总结

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

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

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

WebApi网关之Bumblebee和Ocelot性能对比相关推荐

  1. 开箱即用Bumblebee独立部署搭建webapi网关详解

    在之前的章节里都是讲述如何在程序中使用Bumblebee来构建一个Webapi网关:但这样显然有些麻烦,毕竟很多时候可能只需要一个简单负载处理,还需要写个程序针对服务进行编写代码或配置的确是比较麻烦的 ...

  2. 云主机与传统主机性能对比表

    资料来源:http://www.west263.com/services/CloudHost/vs.asp 云主机与传统主机性能对比表 西部数码第三代弹性云主机 西部数码第二代套餐云主机 国内其他厂商 ...

  3. Java常用消息队列原理介绍及性能对比

    消息队列使用场景 为什么会需要消息队列(MQ)? 解耦  在项目启动之初来预测将来项目会碰到什么需求,是极其困难的.消息系统在处理过程中间插入了一个隐含的.基于数据的接口层,两边的处理过程都要实现这一 ...

  4. golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比

    阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...

  5. php下curl与file_get_contents性能对比

    为什么80%的码农都做不了架构师?>>>    上一篇讲了 <php使用curl替代file_get_contents>, 后续贴出了curl和file_get_cont ...

  6. p40与p100训练性能对比

    深度学习训练,选择P100就对了 原文:https://yq.aliyun.com/articles/238764 摘要: 本文使用NVCaffe.MXNet.TensorFlow三个主流开源深度学习 ...

  7. php vs lua,解析LUA与PHP在WEB应用的性能对比

    解析LUA与PHP在WEB应用的性能对比是本文要介绍的内容,这几天用在WEB开发的LUA框架已经完成,框架中已包括数据库操作和模板操作的功能,能够很简单方便的应用在WEB开发上.在此时我对这个LUA框 ...

  8. Jetson Nano and VIM3硬件参数对比及目标检测性能对比

    文章目录: 1 Jetson Nano and VIM3硬件参数对比及目标检测性能对比 2 Jetson nano在yolov4目标检测性能 3 VIM在yolov3.yolov3-tiny.yolo ...

  9. MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

最新文章

  1. Oracle的视图与索引
  2. HTTP详解(1)-工作原理【转】
  3. linux ftrace原理
  4. .Net 3.5新特性(1)Automatic Properties, Object Initializers, and Collection Initializers
  5. JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-命令行方式
  6. C++编程经验总结1
  7. dvwa安装包linux,dvwa安裝、配置、使用教程(Linux)
  8. 蓝牙配对不弹配对框_配对编程在工作场所的好处和陷阱
  9. Java 11:字符串类中的新方法
  10. 安卓手机左右声道调节应用下载_闪电全能格式转换器下载_闪电全能格式转换器官方下载[转换工具]...
  11. lc用U盘更新固件_索尼X9000H/X9100H系列机型更新HDMI2.1固件
  12. Https网站中请求Http内容
  13. 如何删除Windows我的电脑地址栏搜索记录
  14. 各大门户免费登录入口
  15. 时空-问题集锦(转载)
  16. 基于SSM的小区物业管理系统JAVA【数据库设计、论文、源码、开题报告】
  17. 关联分析(Apriori,FP-growth)
  18. 问题 B: 道路建设 (Ver. I)
  19. NTP 网络时间协议
  20. 你的fpga为什么不能正常工作——拆解第一款FPGA芯片分析原理

热门文章

  1. 如何在Ubuntu上查看和写入系统日志文件
  2. Vue源码解析之数组变异
  3. MySQL备份原理详解
  4. 关于F5 排错的简单介绍之一
  5. 依赖Zookeeper生成全局唯一序列号
  6. Redis主从持久化测试
  7. 在终端(Terminal)中用颜色显示不同类型文件
  8. formcheck 自定义验证
  9. C#得到CPU的序列号、硬盘序列号、网卡序列号
  10. 使用 Playwright 对 ASP.NET Core 应用执行功能测试