本教程前面的内容基本涵盖了 MongoDB 的基本知识,现在在单机环境下操作 MongoDB 已经不存在问题,但是单机环境只适合学习和开发测试,在实际的生产环境中,MongoDB 基本是以集群的方式工作的。集群的工作方式能够保证在生产遇到故障时及时恢复,保障应用程序正常地运行和数据的安全。
接下来我们重点介绍 MongoDB 的集群工作方式,以及在集群工作方式下,MongoDB 是如何使用分片和复制的机制来完成对数据的管理和恢复的。
本节我们从理论上讲解 MongoDB 分布式集群架构的三种模式,下节《将MongoDB部署到分布式集群(实操)》我们会使用三台机器实际部署 MongoDB,带着大家实践一把,光说不练假把式。
MongoDB 有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。
Sharding 模式追求的是高性能,而且是三种集群中最复杂的。在实际生产环境中,通常将 Replica Set 和 Sharding 两种技术结合使用。
虽然 MongoDB 官方建议用副本集替代主从复制,但是本节还是从主从复制入手,让大家了解 MongoDB 的复制机制。
主从复制是 MongoDB 中最简单的数据库同步备份的集群技术,其基本的设置方式是建立一个主节点(Primary)和一个或多个从节点(Secondary),如下图所示。