首页 > 解决方案 > 哪种MongoDB扩展策略(Sharding、Replication)适合并发连接?

问题描述

考虑场景

问题变得很明显,虽然有 50 个实例同时运行,但实际上只有 5 个人对自己的实例执行读/写操作。所以其他 45 个正在运行的实例浪费了服务器的资源。

我是否应该通过组合一组 MongoDB 实例来仅使用一个 MongoDB 集群,以便每个人都可以仅连接到 1 个端点(通过内部网络)以避免浪费资源。

我正在考虑分片策略,但问题是如果一个节点被关闭(一个虚拟机关闭),那么可用性(冗余)是否可以?

我对分片和复制很陌生,期待了解您的解决方案。谢谢

标签: node.jsmongodbdevops

解决方案


如果每个开发人员都希望完全控制他们的数据库部署,那么您就不能合并这些部署。否则,一名开发人员可以删除部署中的所有数据,等等。

如果每个开发人员都希望能够访问一个数据库,您可以部署一个服务于所有开发人员的副本集,并为每个开发人员分配一个数据库(通过身份验证)。

Sharding in MongoDB sense (a sharded cluster) is not really going to help in this scenario since an application generally uses all of the shards. You can of course "shard manually" by setting up multiple replica sets.


推荐阅读