WebApi网关之Bumblebee和Ocelot性能对比
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性能对比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 尝试:Script Lab,开发模式之知
- 下一篇: ConsurrentDictionary