2016-11-23 45 views
0

我使用Node JS服务器设计集群。我阅读了关于NodeJS集群由同一台服务器组成的文档,主要根据服务器具有的处理器数量使用工作进程。 我的问题是关于一个故障转移机制,即使Master进程崩溃,它也能让我的应用程序正常工作。Nodejs Cluster Master failover

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

回答

0

我可以给你一些基于我工作过的Node.js项目的建议。

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

希望这会有所帮助。