谷歌云上的负载均衡node.js应用的最佳实践

我正在寻找关于在Google云计算中部署Node.js应用程序的一些反馈。

目前,我们正在使用Google的HTTP负载平衡器,并将stream量直接导入到我们的Node.js池中。

我的问题具体是,别人如何做这个? 你是否让来自GCE的HTTP负载平衡器的stream量直接击中了你的Node.js应用,或者你是否在HAProxy或NGINX等私有networking中粘贴了另一个逆向代理以将stream量传递给Node.js?

它似乎有点多余,我有另一个反向代理,但我很好奇,如果有任何安全考虑等我忽略暴露节点的GCE HTTP LB.

谢谢

如果按照本帮助中心文章中提到的说明进行操作,则会在点击LB IP地址后使用代理在后端转发stream量。 因此,您的应用程序的公共IP地址将是转发规则IP。

我最近在Rackspace中构build了一个类似的部署,我select在每个VM上运行多个node.js实例(相当于CPU数量),并使用NGINX来平衡它们之间的负载。 我正在考虑使用HAProxy,但我更熟悉NGINX,但他们都将同样工作。 然后,我使用Rackspace提供的Load Balancer来平衡虚拟机之间的负载。 我select了这种方法,因为我在NGINX实例上进行SSL终止以及压缩。 这种方法的另一个原因是我提供了SaltStack的实例,并且比Rackspace的LB控制NGINX节点要容易得多。

尽pipeNGINX / HAProxy层似乎是冗余的,但它保持了系统模块化,分割function明确。 从理论上说,额外的层次应该会增加一些延迟,但是我不会为此担心。