我可以使用具有不同 RAM 量的服务器在 MongoDB 1.8 中设置副本集吗?
- 服务器1:5GB
- 服务器2:2GB
- 服务器3:4GB
如果是,有什么优点和缺点?
不,您不需要相等的 RAM。(是的,您可以按照说明设置副本集。)
MongoDB 使用内存映射文件进行所有缓存,这意味着缓存分页由操作系统处理。具有更多内存的副本将在内存中保留更多的数据库;那些更少的人会将更多的分页到磁盘。
如果可以,MongoDB 最终会将整个数据库放入内存中。如果您使用两个副本进行读取,一个副本用于写入,您可能希望使用 5gb 和 4gb 机器进行读取,因此它们更有可能会占用 RAM。
是的,您可以通过这种方式配置副本集。
如果是,有什么优点和缺点?
这是一个解释副本集主要功能的文档。让我们根据 RAM 的差异来看看这些。
优点:
缺点:
因此,这里的大问题实际上是性能之一。如果您只是为开发设置执行此操作,那么它基本上可以工作。但是在生产环境中,您冒着完全破坏您的应用程序的风险。如果您的应用程序习惯于使用 4GB+ 的 RAM,然后突然降到 2GB,它可能会变得无法使用。
大多数生产设置都希望故障转移到另一台“同等功率”的计算机上。