MongoDB部署模式
目次单节点模式(Standalone)
副本集模式(Replica Set)
分片集群模式(Sharded Cluster)
MongoDB有多种部署模式,可以根据业务需求选择得当的架构和部署方式。
单节点模式(Standalone)
单节点部署是单个MongoDB示例,也是最简朴的部署方式,数据都存储在一个节点上,这种方式现在很少使用。
[*]特点:
[*]适用于开发、测试或小型应用场景。
[*]无数据冗余,不具备高可用性。
[*]单节点故障会导致服务停止。
[*]优点:
[*]易于设置和维护,资源消耗低。
[*]适用场景:
[*]开发测试环境。
[*]对高可用性要求不高的应用。
副本集模式(Replica Set)
MongoDB 中的副本集是一组维护雷同数据集的 mongod 进程。副本集提供冗余和高可用性,是所有生产部署的基础,副本集包罗多个数据承载节点和一个可选的仲裁节点。在数据承载节点中,只有一个主节点,其他被为从节点。
https://i-blog.csdnimg.cn/direct/1f1a085b46ec4b3b8f3cf74b2f94eb05.png
主节点:主节点会接受所有的写入操作,副本集中只会有一个主节点
从节点:从节点存储也是一个完备的数据集,会复制主节点的oplog(oplog是主节点上的操作日志),并将这些操作应用于其数据集,以便从节点的数据集反映主节点的数据集状态。如果主节点不可用,则某个符合条件的从节点将进行选举,以将自己选举为新的主节点。
[*]特点:
[*]一组MongoDB实例组成,提供数据冗余和高可用性。
[*]自动故障切换:主节点宕机后,剩余节点选举出新的主节点。
[*]数据一致性高(强一致性)。
[*]优点:
[*]提供高可用性,保障数据安全。
[*]适用于生产环境。
[*]缺点:
[*]需要额外的硬件资源。
[*]配置和维护比单节点稍复杂。
[*]适用场景:
[*]需要高可用性和自动故障恢复的生产环境。
分片集群模式(Sharded Cluster)
副本集模式就是一个主从架构,虽然可以提拔了高可用性,但是每个节点都需要存储全部数据,这种冗余的方式增加了资源的消耗。而分片集群可以提供更好的可用性。
分片:分片是一种跨多台呆板分布数据的方法,mongo将数据分化为多个分片,每个分片生存的是数据的一部门,所有分片的数据叠加起来就是完备的数据。
分片集群:数据虽然被分配到多个分片节点上,但是每个分片也需要做冗余这样才气提高可用性,所有每个分片也会有多个副本集,就是一个副本集模式,有主分片和从分片数据。
https://i-blog.csdnimg.cn/direct/c9025200263148d1ac24233bc63e0228.png
MongoDB的分片集群由一下几个组件构成:
分片(shard):分片是存储数据的位置,每个分片都包罗分片数据的一个子集,每个分片都必须作为一个副本集进行部署。
路由服务器(mongos):mongos 充当查询路由器,在客户端应用步伐和分片集群之间提供接口,客户端访问分片集群是直接和mongos服务器连接而不会直接和详细的分片连接,mongos会将请求分配到详细的分片上进行操作,同时多个分片的结果也会聚合到mongos上进行处理。
配置服务器(config sderver):配置服务器会存储集群的元数据和配置设置,配置服务器最重要的作用就是记录集群分片的情况,mongos进行路由的时候需要知门路由到哪个分片,而这就要依据config server的分片配置数据,配置服务器也是副本集模式部署。
https://i-blog.csdnimg.cn/direct/b196f8b0ce9f43e0805765fcb4340cce.png
[*]特点:
[*]提供水平扩展本领,得当大规模数据和高并发应用。
[*]数据根据分片键分布在不同的分片中。
[*]MongoDB 在分片集群中的分片之间分配读写工作负载,支持每个分片处理集群操作的子集。通过添加更多的分片,读写工作负载都可以在集群中横向扩展。
[*]优点:
[*]支持大数据集和高吞吐量。
[*]可按需扩展存储和盘算本领。
[*]缺点:
[*]部署和维护复杂,要求分片键设计合理。
[*]Config Server成为潜在的性能瓶颈。
[*]适用场景:
[*]大型分布式体系。
[*]数据量超出单节点存储本领的场景。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]