go 热更新的简单可行的解决方案
資深大佬 : awanganddong 3
现在项目队列消费者打算用 go 来重构。
现在问下 go 实现热更新的方式
初期暂时不考虑 k8s 那套,有什么其他比较好的办法吗
就是类似 nginx 热更新那样,起新的 work 进程来接替旧的 work 进程
大佬有話說 (18)
现在问下 go 实现热更新的方式
初期暂时不考虑 k8s 那套,有什么其他比较好的办法吗
就是类似 nginx 热更新那样,起新的 work 进程来接替旧的 work 进程
如果 socket 也要传递给新进程,可以参考 https://mosn.io/docs/concept/smooth-upgrade/ 通过 UNIX Domain Socket 传 fd 。
另外还有个管理器可以参考,会下载新包重启的 https://github.com/jpillora/overseer 。
你说兼容栈帧那套单进程内热更新我很确定 go 是没有的,这个需要语言 runtime 支持, 印象里只有 erlang 支持, 而且限制性很大, 好处也就是能保留内存缓存.
谢谢大家了