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

overseer

> 编程语言
开源

在 Go (golang) 中可监控、优雅重启、自动升级的二进制文件

2.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

在 Go (golang) 中可监控、优雅重启、自动升级的二进制文件

overseer 是一个用 Go (golang) 编写的可监控、可友好重启、可自动升级的二进制文件包。本项目的主要目标是方便创建与标准进程管理器兼容的自动升级二进制文件,其次,它应该提供一个小而简单的 API,具有合理的默认值。

通常,优雅的重启是由活动进程(蓝色)关闭其监听器,并将这些匹配的监听套接字文件(绿色)传递给新启动的进程。这种重启会导致任何前台进程监控错误地检测到程序崩溃。overseer 尝试通过使用一个小进程来执行此套接字文件交换,并代理来自活动进程的信号和退出代码来解决这个问题。

此程序与进程管理器一起工作,支持无故障的零停机时间重启,并自动升级其自身的二进制文件。

  • overseer 使用主进程检查并安装升级,以及一个子进程来运行 Program。
  • 主进程从 Address/es 中检索监听程序的文件。
  • 子进程获得这些文件,并将其转换为 Program 所需的 Listener/s。
  • 所有子进程的管道都连接回主进程。
  • 主进程接收的所有信号都会转发到子进程。
  • Fetcher 在 goroutine 中运行,并以预先配置的间隔检查更新。当 Fetcher 返回一个有效的二进制流 (io.Reader) 时,主进程将其保存到临时位置,验证后替换当前二进制文件,并启动优雅重启。
  • fetcher.HTTP 接受一个 URL,它会使用 HEAD 请求轮询此 URL,直到检测到变化。在变化时,我们会 GET URL 并将其流回 overseer。另见 fetcher.S3。
  • 一旦接收到二进制文件,它将被运行

Issues· 0 开放

查看全部 Issues在 GitHub 打开

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

> 标签

Go

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

> 工具信息

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

> 相关工具

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