我希望 Nginx 在升级或重新启动后端服务、执行数据库迁移或其他一些管理任务时,在短时间内暂停(保留)http 请求,而不会对最终用户造成错误。
基本上我想做以下操作序列:
理想情况下,这将使我能够执行需要对整个后端服务器进行独占访问的管理任务,例如重新启动、升级或迁移,而不会对最终用户造成比延迟更严重的事情,希望不到一分钟。
我找到了这个解决方案,但它没有解决第 2 点。此外,它需要将 Lua 解释器编译到 Nginx 中,可能会导致任何内存泄漏和安全问题。
是否有专门针对此问题的配置技巧或 Nginx 模块?可以用股票 Nginx 来完成,也许通过测试控制文件的存在?
其他管理员一般如何解决这个问题?
(我知道通用且有点庞大的uWSGI 应用程序服务器具有此功能以及其他数百种功能,但我宁愿避免在 Nginx 和我的后端之间引入另一个元素。)
小智 1
我猜您正在以最少的停机时间处理维护场景。
我建议您使用备份服务器将请求保留所需的秒数 <20>(或)甚至 <100> 秒,并在应用程序重新启动后重定向到原始 URI。
您可以关注下面的 nginx 线程,其中共享解决方案。
http://forum.nginx.org/read.php?2,177,177#msg-177
| 归档时间: |
|
| 查看次数: |
2544 次 |
| 最近记录: |