明輝站中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

fasthttp-快速HTTP包-fasthttp下載 v1.24.0官方版本

[摘要]fasthttp是一個用于Go的快速HTTP包,針對高性能進(jìn)行了調(diào)整,在熱路徑中實現(xiàn)零內(nèi)存分配,比net/http快10倍以上,目前,fasthttp被VertaMedia成功地用于生產(chǎn)中,為每臺物...

fasthttp是一個用于Go的快速HTTP包,針對高性能進(jìn)行了調(diào)整,在熱路徑中實現(xiàn)零內(nèi)存分配,比net/http快10倍以上,目前,fasthttp被VertaMedia成功地用于生產(chǎn)中,為每臺物理服務(wù)器上超過150萬個并發(fā)的保持連接提供200K rps的服務(wù)。

fasthttp(快速HTTP包)

常見問題

為什么要創(chuàng)建另一個http包而不是優(yōu)化net/http?

因為 net/http API 限制了許多優(yōu)化機(jī)會。比如說。

net/http 請求對象的壽命不受請求處理器執(zhí)行時間的限制。所以服務(wù)器必須為每個請求創(chuàng)建一個新的請求對象,而不是像 fasthttp 那樣重復(fù)使用現(xiàn)有的對象。

net/http 頭信息被存儲在 map[string][]string 中。所以服務(wù)器必須解析所有的頭信息,將它們從[]字節(jié)轉(zhuǎn)換成字符串,并在調(diào)用用戶提供的請求處理程序之前將它們放入map中。這一切都需要不必要的內(nèi)存分配,而fasthttp則可以避免。

net/http客戶端API需要為每個請求創(chuàng)建一個新的響應(yīng)對象。

為什么fasthttp API與net/http不兼容?

因為net/http API限制了許多優(yōu)化機(jī)會。更多細(xì)節(jié)見上面的答案。同時,某些net/http API的部分也是次優(yōu)的使用方式。

比較net/http的連接劫持和fasthttp的連接劫持。

比較net/http的Request.Body讀取和fasthttp的請求體讀取。

為什么fasthttp不支持HTTP/2.0和WebSockets?

HTTP/2.0的支持正在進(jìn)行中。WebSockets已經(jīng)完成了。第三方也可以使用RequestCtx.Hijack來實現(xiàn)這些好東西。

與fasthttp相比,net/http是否有已知的優(yōu)勢?

是的。

net/http 從 go1.6 開始支持 HTTP/2.0。

net/http的API是穩(wěn)定的,而fasthttp的API是不斷發(fā)展的。

net/http 可以處理更多的 HTTP 角落情況。

net/http 應(yīng)該包含更少的 bug,因為它被更多的人使用和測試。

net/http可以在1.5以上的Go上工作。

為什么 fasthttp API 傾向于返回 []byte 而不是字符串?

因為[]字節(jié)到字符串的轉(zhuǎn)換不是免費的 - 它需要內(nèi)存分配和復(fù)制。如果你喜歡用字符串而不是字節(jié)片來工作,可以隨意將返回的[]byte結(jié)果包裝成string()。但請注意,這有非零的開銷。

fasthttp支持哪些GO版本?

Go1.5以上。舊的版本將不被支持,因為它們的標(biāo)準(zhǔn)包缺少有用的功能。

注意:Go 1.9.7是最老的測試版本。我們建議你盡快更新。從1.11.3開始,我們將放棄對1.9.x的支持。

請?zhí)峁┱鎸嵉幕鶞?zhǔn)數(shù)據(jù)和服務(wù)器信息

請看這個問題。

是否有計劃向fasthttp添加請求路由?

沒有計劃將請求路由添加到fasthttp中。使用第三方路由器和支持fasthttp的web框架。

fasthttp-routing

路由器

框架

lu

阿特雷戈

光纖

齒輪箱

更多信息請參見此問題。

我在fasthttp中檢測到了數(shù)據(jù)競賽!

酷! 歸檔一個錯誤。但是在這樣做之前,請在你的代碼中檢查以下內(nèi)容。

確保從RequestHandler返回后沒有對RequestCtx或其成員的引用。

確保在從RequestHandler返回之前調(diào)用TimeoutError,如果有對RequestCtx或其成員的引用,這可能會被其他goroutine訪問。

我在這里沒有找到我的問題的答案

試著探索一下這些問題。

更新日志

v1.24.0

620f0c8 增加中間件設(shè)置自定義遠(yuǎn)程地址的選項(#1009)(Lauris BH)。

894272e 修復(fù)golangci-lint動作(#1010)(Lauris BH)。


使用編程語言寫的程序,由于每條指令都對應(yīng)計算機(jī)一個特定的基本動作,所以程序占用內(nèi)存少、執(zhí)行效率高。



下載地址

  • PC版

相關(guān)文章

相關(guān)軟件

騰訊視頻最新官方版

騰訊視頻官方版 | 45.34MB

騰訊視頻官方版

騰訊視頻是騰訊旗下的視頻播放產(chǎn)品,定位于中國最大在線視頻媒體平臺,于2011年4月正式上線運營獨立域名的視頻網(wǎng)站,支持豐富內(nèi)容的在線點播及電視臺直播,提供列表管理..

愛奇藝視頻官方正式版

愛奇藝視頻官方正式版 | 35.10MB

愛奇藝視頻官方正式版

愛奇藝,原名奇藝,于2010年4月22日正式上線,2011年11月26日品牌升級,啟動“愛奇藝”品牌并推出全新標(biāo)志。愛奇藝創(chuàng)始人龔宇博士擔(dān)任CEO。...

暴風(fēng)影音最新版下載

暴風(fēng)影音最新版下載 | 50.3MB

暴風(fēng)影音最新版下載

暴風(fēng)影音播放的文件清晰,當(dāng)有文件不可播時,右上角的“播”起到了切換視頻解碼器和音頻解碼器的功能,會切換視頻的最佳三種解碼方式,同時,暴風(fēng)影音也是國人最喜愛的播放器之一...

QQ音樂官方正式版

QQ音樂官方正式版 | 24.2MB

QQ音樂官方正式版

QQ音樂是騰訊公司推出的網(wǎng)絡(luò)音樂平臺,是中國互聯(lián)網(wǎng)領(lǐng)域領(lǐng)先的正版數(shù)字音樂服務(wù)的領(lǐng)先平臺,有著個性明星主題:大咖裝,添星妝!...

酷狗音樂2022最新版下載

酷狗音樂2022下載 | 37MB

酷狗音樂2022最新版下載

酷狗是中國領(lǐng)先的數(shù)字音樂交互服務(wù)提供商,互聯(lián)網(wǎng)技術(shù)創(chuàng)新的領(lǐng)軍企業(yè),致力于為互聯(lián)網(wǎng)用戶和數(shù)字音樂產(chǎn)業(yè)發(fā)展提供最佳的解決方案...

酷我音樂官方版下載

酷我音樂下載 | 47.4MB

酷我音樂官方版下載

酷我音樂的界面簡潔大方,淺藍(lán)色與橙色相間,符合大多數(shù)用戶的審美喜好。打開酷我音樂,上部菜單欄包括“我的”、“推薦”、“曲庫”、“視頻”...