一 准备
- Go版本是1.8,使用http.Server内置的Shutdown()方法进行优雅关闭
- Go版本低于1.8的请自行查阅资料,有很多库可以使用
一 实例
main.go
controller.go
浏览器访问http://localhost:8080/test/v1.0/testshutdown
紧接着,立即ctrl+c退出go服务程序
我们会发现,服务程序开始退出了,而浏览器依旧在执行,直到7s后,浏览器运行完成。
再过3s (总计10s缓冲),go程序的defer程序执行完成,实现了平滑关闭。
下一章我们将一起研究golang的热加载、热部署等