文件名称:seamless:Go服务器的无缝重启零停机时间部署
文件大小:11KB
文件格式:ZIP
更新时间:2024-06-06 13:17:48
golang daemon Go
无缝重启 包无缝为服务监督员监视的守护程序实现无缝重启策略,该服务监督期望非分支守护程序(例如daemontools,runit,systemd等)。 无缝策略是完全依赖服务管理器来重新启动守护程序,同时向守护程序提供重新启动过程的完全控制。 为了实现这一点,在启动时无缝复制守护程序以建立管理者->启动程序->守护程序关系。 启动器是守护程序的第一代,它被无缝劫持,充当主管和受监视进程之间的断路器。 这样,当主管发送TERM信号以停止守护程序时,启动程序将拦截该信号并将USR2信号发送给其子级(实际的守护程序)。 在守护程序中,无缝拦截USR2信号以启动无缝重启的第一阶段。 在第一阶段,守护程序通过创建PID文件(请参见下文)并关闭文件描述符(例如,关闭文件描述符)来准备好迎接自己的新版本。 此时,守护程序仍应接受请求。 读取后,无缝地将其发送CHLD信号返回到启动器(其父级)。
【文件预览】:
seamless-master
----seamless.go(8KB)
----launcher.go(3KB)
----LICENSE(1KB)
----examples()
--------unixsocket()
--------reuseport()
----README.md(6KB)
----go.mod(30B)