Node.js Nginx+;NodeJS+;DotCloud上的MongoDB

Node.js Nginx+;NodeJS+;DotCloud上的MongoDB,node.js,mongodb,dotcloud,Node.js,Mongodb,Dotcloud,我想了解您在DotCloud进行此设置的经验,以及关于每个设置的其他经验。我的问题是, 它的规模如何 Nginx在这个设置中的角色是什么,仅仅用于请求调度还是它还支持负载平衡 MongoDB消耗了多少内存?MongoDB中是否有内存管理优化 NodeJ消耗多少内存 我知道这一切都取决于什么样的应用程序,但我只是假设NodeJS是一个高通量解决方案,因此实际需要的内存应该比常规web服务器少(?)。就像@Ken Cochrane所说的,Node服务中没有nginx,也不需要它。 而且您可能不想要它

我想了解您在DotCloud进行此设置的经验,以及关于每个设置的其他经验。我的问题是,

  • 它的规模如何
  • Nginx在这个设置中的角色是什么,仅仅用于请求调度还是它还支持负载平衡
  • MongoDB消耗了多少内存?MongoDB中是否有内存管理优化
  • NodeJ消耗多少内存

  • 我知道这一切都取决于什么样的应用程序,但我只是假设NodeJS是一个高通量解决方案,因此实际需要的内存应该比常规web服务器少(?)。

    就像@Ken Cochrane所说的,Node服务中没有nginx,也不需要它。 而且您可能不想要它,如果您确实希望通过nginx交付静态内容,而不是通过Node,您可以为此添加一个静态服务

    负载平衡由我们的网关完成,这些网关将您的流量重定向到不同的实例或扩展的服务。这是如果您已经扩展了您的服务

    只要你的应用程序是按比例设计的,Node.js就可以完美缩放。例如,如果您仔细地确保您的会话在缓存或数据库中共享,那么扩展它就没有什么魔力了。如果丢失一个实例不是问题,因为节点服务中的内存中没有保存任何内容,并且如果您处理db重新连接,那么您可能会扩展得非常好

    mongoDB的使用量很难说这完全取决于你的应用程序。我们有巨大的mongoDB,从做爬虫的人到使用大量ram的简单mongoDB。这取决于我们的应用程序是否成功。这真的很难保持下去。但是你可能在一段时间内不会达到1G


    关于节点。您不希望在内存中存储任何内容,因为它不是在实例之间共享的。因此,除非您正在做一些非常特殊的事情,否则您的节点实例不应该占用太多内存。256MB对于一个普通的应用程序或者更少的应用程序来说应该是不错的。

    nginx通常不是node.js堆栈的一部分。如果您愿意,您可以使用它来提供静态内容,但是如果您在dotCloud上运行normal node.js服务,它不包括nginx。