MongoDB 复制

  • 副本集:简单说,副本集就是有自动故障恢复功能的主从集群。主从集群和副本集最为明显的区别:副本集没有固定的“主节点”。整个集群会选出一个主节点。当其不能工做时,变动到其余节点。两者看起来很是类似:副本集总会有一个活跃节点(primary),一个或多个备份节点(secondry)。
  • 副本集最美妙的地方就是全部东西都是自动化的。首先,它为你作了不少管理工做,自动提高备份节点为活跃节点。其次,对开发者而言,也很易用:仅须要为副本集指定服务器。驱动程序就会自动找到服务器。在当前活跃节点死机时,自动处理故障恢复这类事情。
  • mongodb 的复制至少须要两个服务器或者节点。其中一个是主节点。负责处理客户端请求。其它的都是从节点。负责映射主节点的数据。                                               主节点记录在其上执行的全部操做。从节点按期轮询主节点获得这些操做。而后对本身的数据副本执行这些操做。因为和主节点执行了相同的操做,从节点就能与主节点的数据保持同步。
  • 主节点的操做记录称为oplog(operation log)。oplog存储在一个特殊的数据库中。叫作local。oplog就在其中的oplog.$main集合里面。oplog中的每一个文档都表明主节点上执行的一个操做。oplog只记录改变数据库状态的操做。查询操做就不存储在oplog中。启动服务器时用--oplogSize 指定大小。
  • 从节点第一次启动时,会对主节点数据进行完整的同步。同步完成后,从节点会查询主节点的oplog并执行这些操做,以保证数据是最新的。
相关文章
相关标签/搜索