百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

goagain

> 编程语言
开源

在 Go 中的零停机重启

2.1K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

在 Go 中的零停机重启

goagain

在 Go 中实现零停机重启

goagain 包提供了原语,可为接受来自 net.TCPListener 或 net.UnixListener 的 Go 应用程序实现零停机重启。 请看一下示例,因为这不仅仅是导入库并使一切正常运行的问题。您的 main 函数必须支持 goagain 协议,并且您的进程必须具备某种(无论您如何设计)优雅关闭进程的定义。 安装

去获取 GitHub.com/rcrowley/goagain 用法

使用 goagain 向进程发送 SIGUSR2 信号,它将在无停机时间的情况下重新启动。example/single/main.go: Single 策略(因其只调用一次 execve(2))的工作方式与 Nginx 和 Unicorn 类似。父进程分叉一个子进程,子进程执行,然后子进程杀死父进程。这种方式易于理解,但与 Upstart 和类似的直接监督 init(8) 守护程序不兼容。它应该与 systemd 兼容。

example/double/main.go: Double 策略(因为它调用了 execve(2) 两次)是实验性的,因此请谨慎使用。父进程 fork 出一个子进程,子进程执行,子进程向父进程发出信号,父进程执行,最后父进程杀死子进程。不幸的是,这要复杂得多,但它与 Upstart 和类似的直接监控 init(8) 守护进程协作得很好。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言