0

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

  1. 它是如何扩展的?
  2. Nginx 在此设置中的作用是什么,仅用于请求调度还是还支持负载平衡?
  3. MongoDB 消耗多少内存?MongoDB中有内存管理优化吗?
  4. NodeJS 消耗多少内存?

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

4

1 回答 1

2

所以就像@Ken Cochrane 所说的 Node 服务中没有 nginx 并且不需要它。而且您可能不想要它,如果您确实想要使用 nginx 而不是通过 Node 提供静态内容,则可以为此添加静态服务。

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

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

无法说 mongoDB 使用了多少,这完全取决于您的应用程序。我们有巨大的 mongoDB,从做爬虫的人到使用这么多内存的简单的人。不过,这取决于我们应用程序的成功。这真的很难留下。但是您可能在一段时间内不会达到 1G。

关于节点。您不想在内存中存储任何内容,因为它不会在您的实例之间共享。因此,除非您正在做一些非常特别的事情,否则您的 Node 实例不应该使用太多内存。256MB 对于普通应用程序来说应该没问题,甚至更少。

于 2012-10-11T01:18:15.360 回答