Mongo数据库副本与负载平衡的Web服务器在同一台机器上?

我们正在testing在Amazon的EC2上使用MongoDB作为数据库的web应用的部署。 Mongobuild议使用至less3个节点进行数据完整性复制。 虽然这是testing,但我们想用复制来testing系统如何处理故障,所以我们至less需要3个EC2实例。 我也想看看web负载均衡的作品。

我的想法是创build3个中等EC2实例,都运行MongoDB和Web服务器。 我们将有一个负载均衡器在三台服务器之间分配Web请求,并configurationMongo将其用作数据完整性的副本。

这个计划有什么问题吗?

由于这是一个“testing”阶段,我们都知道testing是我们用于生产的模型,我想提醒您,MongoDB内存很大,并使用文件系统caching来映射文件。

如果您的Web应用程序也是内存庞大的,而且您的应用程序和MongoDB没有足够的内存运行,那么MongoDB将会受到影响,因为内核将会因为内存中私有/驻留页面的请求而驱逐FScaching。

只要你留意你的内存使用模式(包括内核级别的缓冲区/caching和mongod页面错误),你应该没问题。

对于testingmongo和replicaset的故障切换似乎没有问题。