MongoDB复制基本概念到整个架构深入浅出

最近在生产环境中遇到许多复制相关问题,查阅网上资料发现官方文档虽然系统但是不够有深度,网上部分深度文章则直接以源码展示,不利于大家了解。所以本文则是结合前两者最终给读者以简单的方式展现MongoDB复制的整个架构。本文分为以下5个步骤:

  • MongoDB复制简介
  • MongoDB添加从库
  • MongoDB复制流程详解
  • MongoDB高可用
  • MongoDB复制总结
  • 1、MongoDB复制简介

    本章节首先会给大家简单介绍一些MongoDB复制的一些基本概念,便于大家对后面内容的理解。

    1.1、基本介绍

    MongoDB有副本集及主从复制两种模式,今天给大家介绍的是副本集模式,因为主从模式在MongoDB 3.6也彻底废弃不使用了。MongoDB副本集有Primary、Secondary、Arbitrar三种角色。今天给大家介绍的是Primary与Secondary数据同步的内部原理。MongoDB副本集架构如下所示:

    MongoDB复制基本概念到整个架构深入浅出

    1.2、MongoDB Oplog

    MongoDB Oplog是MongoDB Primary和Secondary在复制建立期间和建立完成之后的复制介质,就是Primary中所有的写入操作都会记录到MongoDB Oplog中,然后从库会来主库一直拉取Oplog并应用到自己的数据库中。这里的Oplog是MongoDB local数据库的一个集合,它是Capped collection,通俗意思就是它是固定大小,循环使用的。如下图:

    MongoDB复制基本概念到整个架构深入浅出

    MongoDB Oplog中的内容及字段介绍: