2017-06-04 69 views
0

我有一个Nodejs应用程序,其中包含集群以进行错误处理的正常运行时间和域。零宕机时间部署Nodejs应用程序

现在为了实现零宕机部署,我有一条指令,但我需要帮助将此指令转换为Nodejs代码(我需要一个示例)。

这是指令:

  1. 当主机启动,给它一个符号链接到工作代码。
  2. 部署新代码后,更新符号链接
  3. 向master发送信号:fork new workers! Mater告诉老工人关闭,从新代码中分出新的工人。
  4. 母校过程永远不会停止运行

Instruction source - >幻灯片编号39

+0

另一种方法,您可能需要检查https://www.chrismoos.com/2016/09/28/zero-downtime-deployments-kubernetes/我已经在生产中遵循此设置并且工作得很好。不完全是你需要的,只是要记住。 –

+0

谢谢,但它远比我的目的! –

回答

0

对于100%的正常运行时间在路上或多或少相同的,无论您使用的语言:

  • 将会话令牌存储在数据库中而不是内存数组或其他内容中。这将允许用户在交换版本后保持登录状态。

  • 运行服务器泊坞窗容器

  • 使用代理内部的处理交换容器时,你需要运行一个新的服务器版本。

我写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而不会让任何请求下降。

相关问题