【发布时间】:2013-08-06 06:01:18
【问题描述】:
我正在使用 Webrtc、nodejs、Expressjs 作为框架来创建音频、视频和聊天应用程序。我使用 Forever 以便脚本连续运行。
因为我的应用程序处理音频、视频和聊天。用户的存在起着重要的作用。我们需要让系统始终启动并运行,避免系统崩溃和重启。如果发生这种情况,我们将丢失有关在线用户的所有信息。 需要建议什么是避免此类情况的最佳方法。
此外,在将新功能迁移到生产服务器时,我们应该考虑哪些步骤,以使应用程序不会停止,从而不会丢失用户信息。
如果服务器宕机或者我们不得不让它宕机怎么办。可以使用哪些不同的技术,以便我们不会丢失系统中在线用户的存在信息并将其恢复(如果需要)。
【问题讨论】:
-
您应该使用带有通用键值存储的无状态 API 调用来模拟需要的状态。除了公共键值存储之外,您还应该在 Node 进程之间使用消息队列。每个服务器都应该能够处理任何请求,而与连续请求的路由无关。使用持久连接部署多个进程时,在所有连接断开之前不要将它们关闭,并确保没有建立新连接。清单还在继续……应用程序离部署有多远? :)
标签: node.js deployment express production-environment webrtc