【发布时间】:2017-08-03 09:51:30
【问题描述】:
我们正在考虑将 MongoDB 用于我们预计会像病毒一样传播的网站(想想在头 1-2 个月内有数百万用户)。
我们将需要大量内存,因为我们需要它的速度。我们正在考虑至少 32 GB 的内存。专用服务器的问题是每月购买 32-64 GB 内存的成本非常高。
AWS 的主要好处是您可以随用随付。
我查看了 Amazon EC2“High-Memory Double Extra Large Instance”,它有 34.2 GB 的内存和 850 GB 的存储空间。
该网站将是一个类似 Twitter 的网站,将大量更新状态 - 但不限于 160 个字符(可能无限个字符)。
棘手的部分是 Twitter 主页如何列出您关注的人的所有最新推文。我希望 Twitter 有两个表/“集合”:一个保存您发布的推文,另一个保存您收到的推文(但这并不意味着他们正在执行数千到数十万次数据库写入每次有大量粉丝的人发布状态更新?)
后端使用 Node.js,因此 MongoDB 是理想的选择。
我的问题是:
1) 在我们的情况下,我们需要 32 GB 的内存吗? 2)EC2提供的850GB存储空间够用吗? 3) EC2 还是专用服务器更适合 MongoDB 托管状态更新?为什么?
【问题讨论】:
-
作为参考,每月 100 万次点击是平均每分钟 23 次点击。几乎地球上的每个网络服务器每秒都可以轻松处理 23 次点击。平均每月有 6000 万次点击。您需要更好地定义您的指标。 “我预计每分钟点击 10,000 次”(持续一个月内点击 432,000,000 次)。这是一个更好的性能指标。每月 100 万并不具有规模价值。
-
OP 说的是数百万用户,而不是数百万点击量。这可能会将预期流量提高到接近 4.32 亿的水平。
-
另外,“一个单独的,用于保存您收到的推文”。亲爱的上帝,我希望这不是您建立网站的方式。