文档简介:
系统架构
集群架构
每个集群即一个独立运行的文档数据库,分片集群架构由路由(mongos)、配置(config)和分片(shard)组成。
数据读写请求经mongos分发,通过查询config信息,并行分配到相应shard,可轻松应对高并发场景,且config和shard均采用三副本架构,保证高可用,集群架构如下图所示。
图1-1 集群架构
lmongos为单节点配置,用户可以通过多个mongos实现负载均衡及故障转移,单个集群实例可支持2~16个mongos节点。
lshard节点是分片服务器,当前架构是三节点副本集。单个集群版实例可支持2~16个shard节点。
lconfig为集群必备组件,负责存储实例的配置信息,由1个副本集构成。
l支持通过控制台新增mongos和shard节点,不支持通过原生命令新增节点。
l用户不可以直接连接访问config和shard节点,所有数据操作均需要连接mongos进行下发。
l目前不支持将现有三节点副本集直接升级到集群模式。
副本集架构
副本集,即Replica Set,由一组mongod进程组成,提供了数据冗余与高可靠性的节点集合。
说明:
关于mongod进程的描述,请参见MongoDB官方文档。
副本集架构由主节点、备节点和隐藏节点组成,自动搭建好三节点的副本集供用户使用,节点之间数据自动同步,保证数据的高可靠性。
l主节点:即Primary节点,用于读写请求。
l备节点:即Secondary节点,用于读请求。
l隐藏节点:即Hidden节点,用于备份数据。
用户可以直接操作主节点和备节点。若主节点故障,系统自动分配新的主节点,若仅备节点不可用,隐藏节点接管备节点服务,保证高可用。副本集架构如下图所示。
图1-2 副本集架构
l支持多种管理控制任务,如创建实例、变更配置以及备份实例等。任务系统会根据用户下发的操作指令,进行灵活控制并进行任务跟踪及异常管理。
l支持收集实例性能监控信息,包括基础指标、磁盘容量、网络请求以及操作次数等核心信息。
l支持收集实例运行情况的日志,包括实例慢日志查询以及访问控制日志等。
l支持针对实例进行备份处理,并且将生成的备份文件存储至对象存储服务系统上进行保存。目前支持自动和手动备份,自动备份可保留天数默认为7天。