You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HAProxy二进制文件是否可实现无停机原地升级?

HAProxy无中断升级能力说明

HAProxy 原生支持和NGINX一致的零停机原地升级能力,升级全程不会丢失已建立的客户端连接,也不会中断正在处理的请求,这个特性已经稳定迭代了很多个大版本,生产环境可用性非常高。

很多人检索不到明确说明,是因为HAProxy没有把这个能力单独归类为「二进制升级」专属功能,它本质上是零中断重载能力的一个应用场景,和重载配置文件的无缝切换逻辑完全共用一套实现。

核心实现逻辑

它的运行逻辑和NGINX的热升级流程几乎一致:

  • 向运行中的旧版本HAProxy主进程发送SIGUSR2信号后,旧主进程会拉起新版本的HAProxy进程,同时把自身持有的所有监听套接字的控制权完整转交给新进程
  • 新进程启动完成后立刻开始承接所有新入的客户端请求,旧进程不再接收新连接,只会继续处理完自身已持有连接上的所有存量请求
  • 等所有存量请求处理完成、连接正常关闭后,旧进程会自动退出,整个过程对客户端完全透明,不会出现连接重置、请求中断的问题

实际操作步骤

执行原地升级的操作非常简单:

  • 用编译/包管理器安装的新版本HAProxy二进制,替换掉系统路径下的旧版本二进制文件
  • 执行命令向旧主进程发送触发信号:
    kill -SIGUSR2 $(cat /var/run/haproxy.pid)
  • 等待存量连接自然排空即可,期间可以通过进程列表查看新旧进程的运行状态,确认新进程正常承接流量后不需要额外操作,旧进程会自行退出。

注意:如果你的业务存在大量超长连接(比如TCP长连接、WebSocket、长轮询场景),旧进程可能会存活较长时间等待连接主动断开。这种场景建议在业务低峰期执行升级,也可以配合配置旧进程的最长存活时间,到期后强制退出,避免新旧进程长时间同时占用系统资源。

内容的提问来源于stack exchange,提问作者Paul Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 02:01:08