1.2 gin框架架构

  • 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

Leave a Reply

Your email address will not be published. Required fields are marked *