javascript - 在 Openshift 上热部署 node.js 应用程序时究竟发生了什么?

标签 javascript node.js openshift

来自documentation我发现,我不明白当 node.js 应用程序在 Openshift 中热部署时到底发生了什么。

以下假设是否正确?

  1. 现有的 node.js 应用程序已停止。
  2. 使用新推送代码的新 node.js 应用程序已启动。
  3. 现有 node.js 应用程序内存中的任何内容都不会转移到新应用程序。
  4. 如果这些应用程序使用数据库(在其他卡式盒中),则不会重新启动该数据库。现有应用程序关闭其连接,新应用程序创建一个新连接。
  5. 因此,如果您需要运行新推送的 node.js 代码所需的数据库脚本,则不建议进行热部署。

最佳答案

我试图从一些官方资源中找到很多关于在 openshift 上进行热部署的文档,但我没有看到比这些更多的东西 lines任何地方,

我不是说我真的在回答你的问题,但这里有一些关于热部署的方法,每个人都必须阅读this

它只是创建一个服务器来监视你的 js 文件的变化, 现在,任何时候你修改js,代码都会注意到并用新代码替换本地js。任何现有请求将继续使用旧代码,而任何新传入请求将使用新代码。所有这些都不需要关闭服务器、弹回任何请求、过早地终止任何请求,甚至不需要依赖智能负载平衡器。

我猜 openshift 在启用热部署标记时会做同样的事情(我不确定,情况可能并非如此)。现在在这种情况下,回到你的问题:

  1. The existing node.js application is stopped and a new node.js application with the new pushed code is started: NO

  2. If these applications use a database (in other cartridge), this database is not restarted. The existing application closes its connection, and the new application creates a new one: YES

关于javascript - 在 Openshift 上热部署 node.js 应用程序时究竟发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27695405/

相关文章:

javascript - 使现有的不可写和不可配置的属性可写和可配置

node.js - 从 Angular $resource.save 调用访问 NodeJS 中的 Post 参数

python - 将 Torndb 安装到 Open Shift

javascript - 如何正确显示各种尺寸的缩略图?

javascript - 未捕获的类型错误 : Cannot read properties of undefined (reading 'sendMessage' )

node.js - 分布式 worker 的架构

javascript - 无法从外部 IP 访问 Node.js

elasticsearch - 弹性查询 bool 必须匹配问题

macos - minishift 上 openshift 客户端的权限问题

php echo 中的 Javascript 未执行?