我们正在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的故障切换似乎没有问题。