在Github中stars數最多的Go Web框架集合

Project Name Stars Forks Description
beego 12195 2810 beego is an open-source, high-performance web framework for the Go programming language.
gin 11602 1357 Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
martini 9608 1015 Classy web framework for Go
revel 8740 1158 A high productivity, full-stack web framework for the Go language.
echo 8165 715 High performance, minimalist Go web framework
iris 7544 794 The fastest web framework for Go in (THIS) Earth. HTTP/2 Ready to GO. MVC when you need it. https://docs.iris-go.com
httprouter 5482 547 A high performance HTTP request router that scales well
fasthttp 4880 440 Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
mux 4435 600 A powerful URL router and dispatcher for golang.
web.go 2932 464 web.go is the simplest way to write web applications in the Go programming language. It's ideal for writing simple, performant backend web services.
go-json-rest 2886 314 A quick and easy way to setup a RESTful JSON API
chi 2409 158 lightweight, idiomatic and composable router for building Go HTTP services
go-restful 2291 352 package for building REST-style Web Services using Google Go
goa 2270 225 Design-based APIs and microservices in Go
macaron 2020 185 Package macaron is a high productive and modular web framework in Go.
gizmo 1897 122 A Microservice Toolkit from The New York Times
buffalo 1600 107 Rapid Web Development w/ Go
go-swagger 1448 295 Swagger 2.0 implementation for go
armor 1261 31 Uncomplicated, modern HTTP server
web 1233 91 Go Router + Middleware. Your Contexts.
pat 1063 103 A Sinatra style pattern muxer for Go's net/http library
bone 1052 71 Lightning Fast HTTP Multiplexer
go-tigertonic 956 77 A Go framework for building JSON web services inspired by Dropwizard
faygo 873 137 Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes.
lion 745 39 Lion is a fast HTTP router for building modern scalable modular REST APIs in Go
tango 622 91 Micro & pluggable web framework for Go
goji 518 32 Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang)
traffic 515 20 Sinatra inspired regexp/pattern mux and web framework for Go
gongular 380 10 gongular is an HTTP Server Framework for developing APIs easily.
gear 364 40 A lightweight, composable and high performance web service framework for Go.
lars 331 19 Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
neo 319 30 Go Web Framework
go-ozzo 206 34 ozzo-routing is a Go package that provides high performance and powerful HTTP routing capabilities for Web applications.
golf 200 16 A fast, simple and lightweight micro-web framework for Go, comes with powerful features and has no dependencies other than the Go Standard Library.
ace 160 21 Blazing fast Go Web Framework
gem 143 31 Gem is an easy to use and high performance web framework written in Go(golang), support HTTP/2, and provides leveled logger and frequently used middlewares.
zerver 139 19 a RESTful API framework
siris 132 15 The community driven fork of Iris. The fastest web framework for Golang!
fasthttp-routing 129 13 A fast and powerful routing package for fasthttp servers
baa 85 19 an express Go web framework with routing, middleware, dependency injection, http context.
gramework 71 11 The Good Framework
route 38 6 HTTP request routing library and language
pure 37 4 Tideland Go REST Server Library
trygo 23 12 http and web services of framework for golang
gorest 23 1 Tideland Go REST Server Library
webgo 15 2 A very lightweight & simple web framework for Go
orivil 11 5 Fast & Simple & Powerful Go Web Framework. Inspired by Symfony and Laravel.

    

   前六位都是Go語言世界中的老牌Web框架,Star數衆多,功能齊全。除了前六位之外,筆者還使用過macarontango ,faygo這三個框架,都是國內優秀開源項目,功能很是齊全易用。在以上列表中還有一些小型Web框架的源代碼很是適合閱讀學習。最近一年,Go各種開源項目異常活躍,從以上Web框架的Star數和活躍度也能夠從側面反映Go語言正在雲生態圈構建上發力。git

下面是來自Go web framework benchmark的部分Go Web框架性能測試數據github

 

Basic Test

The first test case is to mock 0 ms, 10 ms, 100 ms, 500 ms processing time in handlers.golang

Benchmark (Round 3)the concurrency clients are 5000.web

Latency (Round 3)Latency is the time of real processing time by web servers. The smaller is the better.express

Allocs (Round 3)Allocs is the heap allocations by web servers when test is running. The unit is MB. The smaller is the better.json

If we enable http pipelining, test result as below:api

benchmark pipelining (Round 2)

Concurrency Test

In 30 ms processing time, the tets result for 100, 1000, 5000 clients is:restful

concurrency (Round 3)

Latency (Round 3)

Latency (Round 3)

If we enable http pipelining, test result as below:app

concurrency pipelining(Round 2)

相關文章
相關標籤/搜索