Node.js Meanjs热交换部署

Node.js Meanjs热交换部署,node.js,jenkins,web-deployment,mean-stack,hotswap,Node.js,Jenkins,Web Deployment,Mean Stack,Hotswap,我正在尝试将MEANjs应用程序部署到生产环境中。。。 到目前为止,我已经使用jenkins、git、rsync等将项目复制到远程服务器 在最后一步我只需要打电话 停止myMeanjsApp 将文件夹替换为应用程序的新版本 调用start mymeansapp 但这将意味着停机,我正努力避免这样的情况 1.我怎样才能避免这种情况? 2.这方面是否有良好的实践工作流程 我见过,但我不确定这是不是该走的路 或者有没有其他简单的方法可以做到这一点?通常,大型web应用程序是通过创建运行升级版软件的新虚

我正在尝试将MEANjs应用程序部署到生产环境中。。。 到目前为止,我已经使用jenkins、git、rsync等将项目复制到远程服务器

在最后一步我只需要打电话

停止myMeanjsApp 将文件夹替换为应用程序的新版本 调用start mymeansapp 但这将意味着停机,我正努力避免这样的情况 1.我怎样才能避免这种情况? 2.这方面是否有良好的实践工作流程

我见过,但我不确定这是不是该走的路
或者有没有其他简单的方法可以做到这一点?

通常,大型web应用程序是通过创建运行升级版软件的新虚拟机来升级的。然后手动或自动将新虚拟机添加到负载平衡器。然后,运行旧版本的虚拟机将从负载平衡器池中删除,并且在完成对旧VM的所有正在进行的请求后,可以销毁这些VM。例如,AWS的ELB和自动缩放组等功能使其成为一种有吸引力的软件升级方式

即使只有一台服务器,也可以通过将新版本启动到不同的端口来执行相同的操作

如果您必须在适当的位置替换代码,则NOUT npm模块是公平的方法

对于某些应用程序,可以选择停止接受新连接,并在最后一次连接完成后使用新版本重新启动

对于某些应用程序,您可以随时删除旧版本并启动新版本。这完全取决于您的需求和环境