使用pm2的node.js app部署没有停机时间

时间:2016-11-27 01:33:46

标签: javascript node.js express socket.io pm2

有很多教程如何使用socket.io和node.js开发聊天应用程序,毫无疑问,节点的事件驱动优势具有进行聊天应用程序的优势。但最近我想到了这个想法,我在部署应用程序时如何维持聊天应用程序?想象有成千上万的用户正在积极聊天。

在本文https://futurestud.io/tutorials/pm2-cluster-mode-and-zero-downtime-restarts中明确指出群集技术需要额外的关注,嗯有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

PM2不是正确的工具。它很棒,但对于那种编排来说太有限了。

最佳解决方案是将服务器置于负载均衡器后面,并运行应用程序的并行实例轮流处理传入请求。这是Docker等容器最常见的用例之一。

一个很好的例子(我目前正在使用基于socket.io的聊天的约会应用程序中生产的那个)是中间层的MarathonMarathon LB。我们让他们在AWS中运行,在Elastic Load Balancer(ELB)后面。

您实际上可以通过Heroku获得类似的内容,但可能会有点困难,因为您会受到其Load Balancer功能的限制。在socket.io中,您可以使用Redis会话驱动程序来处理分布式会话。