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

Project NameStarsForksDescription
beego121952810beego is an open-source, high-performance web framework for the Go programming language.
gin116021357Gin 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.
martini96081015Classy web framework for Go
revel87401158A high productivity, full-stack web framework for the Go language.
echo8165715High performance, minimalist Go web framework
iris7544794The fastest web framework for Go in (THIS) Earth. HTTP/2 Ready to GO. MVC when you need it. docs.iris-go.com
httprouter5482547A high performance HTTP request router that scales well
fasthttp4880440Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
mux4435600A powerful URL router and dispatcher for golang.
web.go2932464web.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-rest2886314A quick and easy way to setup a RESTful JSON API
chi2409158lightweight, idiomatic and composable router for building Go HTTP services
go-restful2291352package for building REST-style Web Services using Google Go
goa2270225Design-based APIs and microservices in Go
macaron2020185Package macaron is a high productive and modular web framework in Go.
gizmo1897122A Microservice Toolkit from The New York Times
buffalo1600107Rapid Web Development w/ Go
go-swagger1448295Swagger 2.0 implementation for go
armor126131Uncomplicated, modern HTTP server
web123391Go Router + Middleware. Your Contexts.
pat1063103A Sinatra style pattern muxer for Go’s net/http library
bone105271Lightning Fast HTTP Multiplexer
go-tigertonic95677A Go framework for building JSON web services inspired by Dropwizard
faygo873137Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes.
lion74539Lion is a fast HTTP router for building modern scalable modular REST APIs in Go
tango62291Micro & pluggable web framework for Go
goji51832Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang)
traffic51520Sinatra inspired regexp/pattern mux and web framework for Go
gongular38010gongular is an HTTP Server Framework for developing APIs easily.
gear36440A lightweight, composable and high performance web service framework for Go.
lars33119Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
neo31930Go Web Framework
go-ozzo20634ozzo-routing is a Go package that provides high performance and powerful HTTP routing capabilities for Web applications.
golf20016A fast, simple and lightweight micro-web framework for Go, comes with powerful features and has no dependencies other than the Go Standard Library.
ace16021Blazing fast Go Web Framework
gem14331Gem 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.
zerver13919a RESTful API framework
siris13215The community driven fork of Iris. The fastest web framework for Golang!
fasthttp-routing12913A fast and powerful routing package for fasthttp servers
baa8519an express Go web framework with routing, middleware, dependency injection, http context.
gramework7111The Good Framework
route386HTTP request routing library and language
pure374Tideland Go REST Server Library
trygo2312http and web services of framework for golang
gorest231Tideland Go REST Server Library
webgo152A very lightweight & simple web framework for Go
orivil115Fast & Simple & Powerful Go Web Framework. Inspired by Symfony and Laravel.

    

   前六位都是Go语言世界中的老牌Web框架,Star数众多,功能齐全。除了前六位以外,笔者还使用过macarontango ,faygo这三个框架,都是国内优秀开源项目,功能非常齐全易用。在以上列表中还有一些小型Web框架的源代码非常适合阅读学习。最近一年,Go各类开源项目异常活跃,从以上Web框架的Star数和活跃度也可以从侧面反映Go语言正在云生态圈构建上发力。

下面是来自Go web framework benchmark的部分Go Web框架性能测试数据

 

Basic Test

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

《在Github中stars数最多的Go Web框架集合》the concurrency clients are 5000.

《在Github中stars数最多的Go Web框架集合》Latency is the time of real processing time by web servers. The smaller is the better.

《在Github中stars数最多的Go Web框架集合》Allocs is the heap allocations by web servers when test is running. The unit is MB. The smaller is the better.

If we enable http pipelining, test result as below:

《在Github中stars数最多的Go Web框架集合》

Concurrency Test

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

《在Github中stars数最多的Go Web框架集合》

《在Github中stars数最多的Go Web框架集合》

《在Github中stars数最多的Go Web框架集合》

If we enable http pipelining, test result as below:

《在Github中stars数最多的Go Web框架集合》

    原文作者:HTTP
    原文地址: https://juejin.im/entry/59b696a0f265da067374ac2e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞