MongoDB的复制就是数据文档在多个MongoDB服务器节点直接进行数据同步的过程。因此MongoDB的复制集是一种集群技术。
视频讲解如下:
MongoDB复制集由一组MongoDB实例组成,其中包含一个Primary节点和多个Secondary节点,MongoDB 客户端的Driver通过使用Primary节点来写入文档数据,而Secondary节点会自动从Primary节点同步写入的数据,以保持复制集内所有成员存储相同的文档数据,从而提供系统整体数据的高可用。下图是一个典型的MongoDB复制集,包含一个Primary节点和2个Secondary节点。
MongoDB复制集中只能有一个主库用于接收客户端的写请求。当主库接受写入文档的请求后,进行数据操作,并同时将这些操作都记录到操作日志中,该日志被称为Oplog。从库从主库上复制Oplog并应用Oplog以保证与主库的数据文档一致。当主库出现故障变得不可用时,MongoDB复制集中一个的从库可以通过选举的方式会成为新的主库。