我有一个 Nodejs 应用程序,其中包括用于正常运行时间的集群和用于错误处理的域。
现在为了实现零停机部署,我有一条指令,但我需要帮助才能将此指令转换为 Nodejs 代码(我需要一个示例)。
这是指令:
- 当 master 启动时,给它一个指向 worker 代码的符号链接。
- 部署新代码后,更新符号链接
- 向 master 发送信号:fork new workers!
- Mater 告诉旧工人关闭,从新代码中分叉新工人。
- 母校进程永不停止运行
说明来源-> 幻灯片编号 39
我有一个 Nodejs 应用程序,其中包括用于正常运行时间的集群和用于错误处理的域。
现在为了实现零停机部署,我有一条指令,但我需要帮助才能将此指令转换为 Nodejs 代码(我需要一个示例)。
这是指令:
说明来源-> 幻灯片编号 39
对于 100% 的正常运行时间,无论您使用哪种语言,道路都或多或少是相同的:
将会话令牌存储在数据库中,而不是存储在内存数组或其他东西中。这将允许用户在您交换版本后保持登录状态。
在 Docker 容器中运行您的服务器
当您需要运行新的服务器版本时,使用代理来处理交换容器。
我编写了easy-deploy来处理这个问题,这样我就不必担心每次都设置代理了。
部署版本 1
easy-deploy -p 80:80 -v some/path:other/path my-image:1
要部署新版本,只需使用更新的标签名称运行命令
easy-deploy -p 80:80 -v some/path:other/path my-image:2
代理得到照顾。
my-image:1
将被替换,my-image:2
而不会放弃任何请求。