MongoDB分片集群部署
MongoDB分片集群介绍:
什么是 MongoDB 分片集群:
- MongoDB 分片集群(Sharded Cluster)是对数据进行水平扩展的一种方
- MongoDB 使用 分片集群 来支持大数据集和高吞吐量的业务场景。
为什么要使用分片集群:
副本集遇到的问题:
副本集(ReplicaSet) 帮助我们解决读请求扩展、高可用等问题。随着业务场景进一 步增长,可能会出现以下问题:
- 存储容量超出单机磁盘容量
- 活跃数据集超出单机内存容量:很多读请求需要从磁盘读取
- 写入量超出单机 IOPS 上限
垂直扩容(Scale Up) VS ⽔平扩容(Scale Out):
- 垂直扩容 : 用更好的服务器,提高 CPU 处理核数、内存数、带宽等
- 水平扩容 : 将任务分配到多台计算机上
分片集群的基本架构:
- Mongos
- 分片集群的访问入口
- 对请求进行路由、分发、合并
- 部署多个 Mongos 来保证高可用
- ConfigServer
- 存储元信息和集群配置
- 部署为副本集来保证高可用
- Shard
- 存储用户数据,不同 Shard 保存不同用户数据
- 部署为副本集来保证高可用
- 部署为副本集来保证高可用
服务规划:
由于设备问题,目前我们只采用了3个设备进行部署。3个设备同时部署config Servers,shard1,shard2,route。