副本集提供高可用与读写分离,适用于数据量不大但需故障自动切换的场景;2. 分片集群通过分片实现水平扩展,适合大规模数据与高并发环境;3. 主从复制已过时,被副本集取代。生产环境常用副本集和分片集群,后者常以副本集作为分片节点,兼顾扩展性与高可用。

MongoDB 支持多种集群搭建方式,主要根据使用场景、数据量和可用性需求来选择。常见的集群模式有以下三种:
1. 副本集(Replica Set)
副本集是 MongoDB 最基础的高可用架构,包含一个主节点(Primary)和多个从节点(Secondary)。数据从主节点复制到所有从节点,实现数据冗余和故障自动切换。
特点:
- 提供高可用性,主节点宕机后可自动选举新的主节点
- 支持读写分离,读操作可分散到从节点
- 通常由 3 个或更多节点组成(奇数个推荐用于选举)
- 不支持水平扩展,数据全量存储在每个节点上
适用于数据量不大但要求高可用的场景。
2. 分片集群(Sharded Cluster)
分片集群用于处理大规模数据和高并发请求,通过将数据分布到多个分片(Shard)上来实现水平扩展。
核心组件包括:
- Shard: 存储实际数据的节点,每个 Shard 可以是一个副本集
- mongos: 查询路由,客户端连接 mongos 进行读写,由它决定访问哪个分片
- Config Server: 存储集群元数据和配置信息,也建议部署为副本集
适合数据量大、写入/查询压力高的生产环境,如日志系统、电商平台等。
3. 单节点 + 主从复制(Master-Slave,已过时)
这是早期 MongoDB 的复制方式,支持一个主节点和一个或多个从节点,但不具备自动故障转移能力。
注意: 官方已不推荐使用该模式,被副本集全面取代。副本集在功能和可靠性上都优于主从复制。
基本上就这些。目前生产环境中最常用的是副本集和分片集群,其中分片集群常结合副本集作为 Shard 节点,兼顾扩展性与高可用。










