在多CPU服务器上使用Nginx负载平衡Node.js应用程序

在多CPU服务器上使用Nginx负载平衡Node.js应用程序,node.js,nginx,amazon-elastic-beanstalk,Node.js,Nginx,Amazon Elastic Beanstalk,关于Stackoverflow有很多答案,但我不确定我是否找到了真正完整的答案,或者说是最新的答案 我们将node.js与elastic beanstalk上的节点集群一起使用。从理论上讲,这允许我们通过旋转节点的各个运行时(每个CPU一个)来使用机箱上的所有CPU,平衡不同运行时之间的调用,并在各个运行时因某种原因死亡时重新启动 然而,集群目前在如何处理负载平衡方面受到怀疑——它倾向于不断地选择一个或两个CPU,至少在Linux上是这样。版本12缓解了这个问题,但是AWS还不支持它 我很确定我

关于Stackoverflow有很多答案,但我不确定我是否找到了真正完整的答案,或者说是最新的答案

我们将node.js与elastic beanstalk上的节点集群一起使用。从理论上讲,这允许我们通过旋转节点的各个运行时(每个CPU一个)来使用机箱上的所有CPU,平衡不同运行时之间的调用,并在各个运行时因某种原因死亡时重新启动

然而,集群目前在如何处理负载平衡方面受到怀疑——它倾向于不断地选择一个或两个CPU,至少在Linux上是这样。版本12缓解了这个问题,但是AWS还不支持它

我很确定我可以在beanstalk上配置nginx来处理负载平衡,尽管我希望看到nginx conf文件的一个工作示例。但是我想知道是否有人已经知道如何基于CPU启动正确数量的节点运行时,以及重启是如何工作的——如果一个工作进程死亡,我想立即启动一个新的工作进程。Beanstalk现在处理主集群管理器,集群管理器负责工人

我也对beanstalk中的Docker之类的东西持开放态度,但我们喜欢beanstalk,因为它易于设置、扩展和管理