Nodejs Cluster Master故障转移

时间:2016-11-23 21:51:18

标签: node.js cluster-computing failover master

我正在使用Node JS服务器设计集群。我在文档中读到NodeJS集群在同一台服务器上组成,主要根据服务器拥有的处理器数量使用工作进程。 我的问题是关于一个故障转移机制,即使Master进程崩溃也能使我的应用程序保持正常工作。

在这种情况下,最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

我可以根据我工作的Node.js项目给你一些建议。

  1. 使用像Redis这样的缓存机制(将其用作LRU缓存)或MemCache临时存储通信数据,然后将其保存在某处。这样,即使服务器崩溃,您仍可以在服务器重新启动时从缓存中恢复数据。
  2. 使用PM2或永久监控您的Node.js实例并在崩溃时重新启动它。
  3. 让您的服务器保持无状态,这样您就不必担心在服务器上存储客户端的上下文(主进程或从进程)。
  4. 如果它是一个大应用程序,您可以使用nginx在服务器实例之间进行负载平衡,并设置它以便在发生崩溃时将负载转移到其他服务器。
  5. 希望这有帮助。