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

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

我们正在测试在 Amazon EC2 上部署 Web 应用程序,该应用程序使用 MongoDB 作为数据库。Mongo 建议至少使用 3 个节点进行复制,以确保数据完整性。虽然这只是测试,但我们想通过复制进行测试,以了解系统如何处理故障,因此我们至少需要 3 个 EC2 实例。我还想看看 Web 负载平衡是否也能正常工作。

我的想法是创建 3 个中型 EC2 实例,所有实例都运行 MongoDB 和 Web 服务器。我们将使用负载均衡器在三台服务器之间分配 Web 请求,并配置 Mongo 以将它们用作副本以确保数据完整性。

这个计划有什么问题吗?

答案1

由于这是一个“测试”阶段,我们都知道测试是我们用于生产的模型,我要提醒您 MongoDB 占用大量内存,并使用文件系统缓存来映射文件。

如果您的 Web 应用程序也占用大量内存,并且没有足够的内存供您的应用程序和 MongoDB 运行,那么 MongoDB 将会受到影响,因为内核将因对内存中的私有/常驻页面的请求而驱逐 FS 缓存。

只要您密切关注内存使用模式(包括内核级缓冲区/缓存和 mongod 页面错误),就应该没问题。

答案2

似乎不适合测试 mongo 和副本集的故障转移。

相关内容