Nginx + NodeJS + MongoDB at DotCloud



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

  1. 它是如何缩放的
  2. Nginx在这个设置中的角色是什么,只是用于请求调度,还是也支持负载平衡
  3. MongoDB消耗了多少内存?MongoDB中有内存管理优化吗
  4. NodeJS消耗多少内存

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

就像@Ken Cochrane说的那样,Node服务中没有nginx,也不需要它。你可能不想要它,如果你有静态内容,你真的想用nginx而不是通过Node交付,你可以为此添加一个静态服务。

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

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

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

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

相关内容

最新更新