亚洲精品欧美日韩-亚洲精品欧美一区二区三区-亚洲精品欧美综合-亚洲精品欧洲精品-亚洲精品欧洲一区二区三区

首頁
手機版
熱門搜索:
當前位置:電腦軟件編程開發程序源碼fasthttp(快速HTTP包)

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

  • 大小:243KB
  • 語言:英文原版
  • 類別:程序源碼
  • 類型:免費軟件
  • 授權:國產軟件
  • 時間:2021/05/12
  • 官網:http://www.taiyee.com.cn
  • 環境:Windows7, Windows10, WindowsAll

相關軟件

fasthttp是一個用于Go語言的Http框架,和原生的比起來,它的特點就是快,比net/http快10倍以上。內部大量使用了sync.Pool,為多次使用的變量節省了大量的內存申請開銷,為每臺物理服務器上超過150萬個并發的保持連接提供200K rps的服務。

fasthttp圖片1

常見問題

為什么要創建另一個http包而不是優化net/http?

因為 net/http API 限制了許多優化機會。比如說。

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

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

net/http客戶端API需要為每個請求創建一個新的響應對象。

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

因為net/http API限制了許多優化機會。更多細節見上面的答案。同時,某些net/http API的部分也是次優的使用方式。

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

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

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

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

與fasthttp相比,net/http是否有已知的優勢?

是的。

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

net/http的API是穩定的,而fasthttp的API是不斷發展的。

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

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

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

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

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

fasthttp支持哪些GO版本?

Go1.5以上。舊的版本將不被支持,因為它們的標準包缺少有用的功能。

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

請提供真實的基準數據和服務器信息

請看這個問題。

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

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

fasthttp-routing

路由器

框架

lu

阿特雷戈

光纖

齒輪箱

更多信息請參見此問題。

我在fasthttp中檢測到了數據競賽!

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

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

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

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

試著探索一下這些問題。

更新日志

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

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

標簽: 源碼相關

下載地址

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

普通下載通道

網友評論

返回頂部