本文目錄一覽:
fibjs 對比 nodejs 有哪些優點和缺點
一、說的最多的問題:生態。fibjs 作為新興的開發框架,生態必定會是原始的。並且因為顛覆了 nodejs 的範式,所以也不太能直接借用 npm 的生態。雖然很多 npm 組件其實是可以直接使用的,但是更多人需要的 web/db/io 相關組件一概不可用。沒有英文文檔,在把 fibjs 推向國外社區上乏力,也進一步限制了生態的發展。
二、fiber 相比 callback 而言的唯一缺點是堆棧內存佔用。golang 採取增長堆棧的方式解決了這個問題。因為涉及到 v8 的實現,fibjs 目前沒有好的解決方案。針對這個問題,fibjs 實際上並不是完全的 fiber,等待時間較長的模塊,fibjs 仍然採取的是 callback 的設計。比如 web server 的處理 handler。這樣一來,fiber 的數量便不會因為連接的暴漲而增加太多。一個網站同時 1萬個連接,每秒請求可能只有 500,每個請求 100ms,同時處理的請求也才 50 個而已,而 fibjs 發起萬級 fiber 毫無壓力。這樣的數量級根本沒有到需要考慮內存的程度。
三、fibjs 仍比較年輕,沒有經過更多應用的檢驗,很多組件甚至在孢子社區內部也沒有實用過。以 ssl 為例,最近公司內部在應用的時候便發生了連接一些網站證書驗證問題。即便使用過的組件,也會存在設計不合理的問題。這些都是需要社區的支持,一起驗證、建議和改進的。
請高手幫我翻譯幾個詞
光纖、optical line?
配線架、
跨接器、
交接箱;
遙控器、remote controller
電源線、power line
邊框、 frame
聲表面波器件;
木塑粒子、
塑木板、
環氧板板、
環氧樹脂板;
鋰電池、Li battery?
液晶屏、Lcd
硒鼓、
電子線路板;electronic curcuit board?
散熱片、
換向閥、
充氣瓶、
內存、 memory
顯卡、 display card
機箱, computer box?
控制板、control panel
墨盒
Sanic、Fastapi 和 Fiber 簡單壓測對比
Sanic:
Fiber:
壓測使用的程序是 go-stress-testing , 1000 個並發,每個並發進行 1000 次請求。
每欄對應的字段為:
Sanic:
Fiber:
可以看出來, sanic 和 fiber 差別不大, sanic 的性能幾乎與 fiber 持平,可能是當下最高性能的 Python Web 框架,沒有之一,即便是之前較為突出的異步框架 fastapi 也要落後於 sanic 。
附上 fastapi 的結果:
Flask 、 Django 等框架不在本文討論範圍之內,這二者本就不是為了高性能設計的框架,沒有對比的意義。
sanic 還有一個優勢,就是其沒有開發服務器,用 sanic -w 8 main.app 運行的服務器就是生產服務器。
如果有想用 Python 開發 Web 服務器的,建議優先考慮 sanic ,但 fastapi 其實也夠用了。
Go fiber 框架快速入門
Fiber 是一個受到 Express 啟發的 Web框架 ,建立在 Go 語言寫的 最快的 Fasthttp HTTP引擎的基礎上。旨在 簡化 零內存分配 和 提高性能 ,以便 快速 開發。
據說性能秒殺一概go下的web框架,只有fasthttp能略略領先。
這麼牛逼的框架上手還特別快,你說氣不氣人?
以上都是 官網 都可以查到的信息,個人感覺這個fiber相較於Gin框架更加的小巧,使用起來沒有學習周期,很多用法都Gin框架非常的相似。
下面貼一個學習用的簡單的實例:
Fiber 框架支持豐富的中間件和第三方中間,有興趣的朋友可以去官網查看一下
例子中使用的靜態文件來自可愛的 Q1mi老師 ,喜歡的朋友去給Q1mi老師點star
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/257618.html