1、单点问题分析
1、单点故障
单一MongoDB提供服务,在服务器宕机时,会造成整个应用崩亏
2、海量数据存储
单一MongoDB,并不支持海量数据存储
解决方案:
集群概念:
Master-Slaver(主从集群):是一种主从副本的模式,目前已经不推荐使用。
Replica Set(副本集群):模式取代了Master-Slaver模式,是一种互为主从的关系,可以解决单点故障问题。
Sharding(分片集群):可以解决但带你故障和海量数据存储问题。
2、副本集群
执行原理:
1、包含主节点和副节点/从节点
2、主节点只能有一个,可以完成数据读写操作
3、副本节点可以有多个,只能完成读操作
4、多节点间有心跳检测,并进行数据同步
5、主节点宕机后,副本节点选举新的主节点
总结:
1、单点故障
2、使用于中小型应用(数据量适中)
3、故障转移
4、读写分离
3、分片集群
内部结构:
1、分片服务
2、配置服务
3、路由服务
注意事项:为了保证每个服务的高可用,需要服务配置副本集群。
分片策略:
MongoDB通过分片策略,决定数据存储的分片服务器。mongodb有两种分片策略,根据集合字段来指定
1、范围指定
将指定字段的数据按照范围进行划分,根据范围获取分片服务器
2、数据Hash
将指定字段的数据进行Hash计算,获取存储的分片服务器
总结:
1、支持海量数据存储
2、分片集群内部结构
3、分片策略