我刚刚开始使用Amazon EC2,并试图弄清楚数据库应如何工作。如果我的网站流量很高,并且想在多个实例之间实现流量负载平衡,我猜这些实例将必须检索并将数据保存到单个单独的实例中,以避免数据分散在多台计算机上。

在这种情况下,我是否应该在自己的实例上安装并运行mongoDB并将所有其他实例连接到该单个数据存储?还是应该在同一实例上运行mongo和我的http服务器?

很想听听您的一些最佳做法。

最佳答案

在开发过程中也许没有必要,但是一旦投入生产就应该这样做。

更重要的是,如果您正在运行生产数据,则可能希望运行a replica set进行备份,以防万一发生故障,不丢失数据和不中断服务。

DB渴望内存,因此必须与其他进程共享它是一个坏主意。在应用程序服务器上,您可能需要比内存更多的CPU,因此您可以使用High-CPU实例类型(c.medium,c1.xlarge)并为DB使用High-Memory类型(m2.large等)(High-CPU实例更便宜)

同样,从体系结构的角度来看,最好能够独立于数据库扩展应用服务器的数量。如果将应用程序服务器和数据库放在同一台计算机上,那么如果以后必须迁移到另一台服务器上,可能会导致问题。

关于mongodb - 我应该在自己的EC2实例上运行MongoDB吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8742240/

10-13 06:40
查看更多