Listener

Golang服务器热重启、热升级、热更新(safe and graceful hot-restart/reload http server)详解

服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级。 而另一种更方便的方法是在应用上做热重启,直接更新源码、配置或升级应用而不停服务。 这个功能在重要业务上尤为重要,会影响服务可用性、用户体验。 原理 热重启的原理比较简单,但是涉及到一些系统调用以及父子进程之间文件句...