男同gay片av网站,美女视频黄8频美女视频,男人j放进女人p全黄,柠檬福利精品视频导航,免费涩情网站

首頁(yè)
手機(jī)版
熱門(mén)搜索:
當(dāng)前位置:電腦軟件編程開(kāi)發(fā)程序源碼fasthttp(快速HTTP包)

fasthttp(快速HTTP包) 官方版v1.24.0

  • 大小:243KB
  • 語(yǔ)言:英文原版
  • 類(lèi)別:程序源碼
  • 類(lèi)型:免費(fèi)軟件
  • 授權(quán):國(guó)產(chǎn)軟件
  • 時(shí)間:2021/05/12
  • 官網(wǎng):http://goqiche.cn
  • 環(huán)境:Windows7, Windows10, WindowsAll

相關(guān)軟件

fasthttp是一個(gè)用于Go語(yǔ)言的Http框架,和原生的比起來(lái),它的特點(diǎn)就是快,比net/http快10倍以上。內(nèi)部大量使用了sync.Pool,為多次使用的變量節(jié)省了大量的內(nèi)存申請(qǐng)開(kāi)銷(xiāo),為每臺(tái)物理服務(wù)器上超過(guò)150萬(wàn)個(gè)并發(fā)的保持連接提供200K rps的服務(wù)。

fasthttp圖片1

常見(jiàn)問(wèn)題

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

因?yàn)?net/http API 限制了許多優(yōu)化機(jī)會(huì)。比如說(shuō)。

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

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

net/http客戶(hù)端API需要為每個(gè)請(qǐng)求創(chuàng)建一個(gè)新的響應(yīng)對(duì)象。

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

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

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

比較net/http的Request.Body讀取和fasthttp的請(qǐng)求體讀取。

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

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

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

是的。

net/http 從 go1.6 開(kāi)始支持 HTTP/2.0。

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

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

net/http 應(yīng)該包含更少的 bug,因?yàn)樗桓嗟娜耸褂煤蜏y(cè)試。

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

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

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

fasthttp支持哪些GO版本?

Go1.5以上。舊的版本將不被支持,因?yàn)樗鼈兊臉?biāo)準(zhǔn)包缺少有用的功能。

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

請(qǐng)?zhí)峁┱鎸?shí)的基準(zhǔn)數(shù)據(jù)和服務(wù)器信息

請(qǐng)看這個(gè)問(wèn)題。

是否有計(jì)劃向fasthttp添加請(qǐng)求路由?

沒(méi)有計(jì)劃將請(qǐng)求路由添加到fasthttp中。使用第三方路由器和支持fasthttp的web框架。

fasthttp-routing

路由器

框架

lu

阿特雷戈

光纖

齒輪箱

更多信息請(qǐng)參見(jiàn)此問(wèn)題。

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

酷! 歸檔一個(gè)錯(cuò)誤。但是在這樣做之前,請(qǐng)?jiān)谀愕拇a中檢查以下內(nèi)容。

確保從RequestHandler返回后沒(méi)有對(duì)RequestCtx或其成員的引用。

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

我在這里沒(méi)有找到我的問(wèn)題的答案

試著探索一下這些問(wèn)題。

更新日志

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

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

標(biāo)簽: 源碼相關(guān)

下載地址

fasthttp(快速HTTP包) 官方版v1.24.0

普通下載通道

網(wǎng)友評(píng)論

返回頂部