框架架构
- HTTP 服务器
1.默认服务器
router.Run()
2.HTTP 服务器
除了默认服务器中 router.Run()
的方式外,还可以用 http.ListenAndServe()
,比如
func main() {
router := gin.Default()
http.ListenAndServe(":8080", router)
}
或者自定义 HTTP 服务器的配置:
func main() {
router := gin.Default()
s := &http.Server{
Addr: ":8080",
Handler: router,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
}
s.ListenAndServe()
}
3.HTTP 服务器替换方案
想无缝重启、停机吗? 以下有几种方式:
我们可以使用 fvbock/endless 来替换默认的 ListenAndServe
。但是 windows 不能使用。
router := gin.Default()
router.GET("/", handler)
// [...]
endless.ListenAndServe(":4242", router)
除了 endless 还可以用manners:
manners 兼容windows
manners.ListenAndServe(":8888", r)
- 生命周期
- Context