我是否通过对只读MongoDB数据库使用“适当的”副本获得任何收益?

问题描述 投票:0回答:1

我有一个依赖于只读MongoDB数据库的Web应用程序。通过反复试验,我发现运行填充数据库的ETL管道的最快方法是运行MongoDB的本地副本,填充数据库,停止数据库并压缩状态目录。除了其速度外,此设置还使我可以使用版本存储轻松地回滚到数据库的早期版本。

因为数据库是只读的,所以数据库在某种意义上是“无状态”应用程序。我可以通过旋转机器,下载状态tarball,将其解压缩并启动MongoDB的本地副本来进行小规模的扩展。

将这些副本放置在负载均衡器之后,我具有真正隔离的优势;任何节点上发生的任何事情都不会影响其他任何节点上发生的事情。

最后但并非最不重要的一点,因为设置非常简单,所以几乎可以在任何设置下通过自动缩放轻松部署。

此设置有许多明显的优点。不过,我一直a不安,觉得自己缺少一些东西。给定只读上下文,是否还有某些原因可能会导致运行“适当的” MongoDB集群更好?

mongodb database-replication high-availability
1个回答
0
投票

如果单个节点发生故障时您不介意中断,并且升级期间不考虑将系统停机,那么这可能是个不错的部署。使用mongodumpmongorestore而不是tar可能会获得更安全的转储和还原,但除此之外,此设置应适用于只读部署。

© www.soinside.com 2019 - 2024. All rights reserved.