MongoDB-复制集同步规则

初始化同步

  • 将一个新的节点加入到复制集中时, 就需要进行初始化同步
  • 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样
  • 初始化同步会将主节点中现有所有的 '数据库', '集合', '文档', '索引' 全部拷贝过来
  • 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等

!> 所以仅仅做一次大型的拷贝是不能保证副节点和主节点一模一样的

同步写库记录

  • 每个节点中都有一个 local 数据库, 这个数据库中有一个 oplog 的集合,这个集合就是专门用来保存数据库的操作记录的(写库记录)

  • 做完初始化同步之后, 副节点就会定期从主节点中拷贝写库记录, 将写库记录保存到自己的 local 数据库中, 然后执行写库记录中的操作, 从而使得自己的内容和主节点的内容保持高度一致

!> 写库记录是可以被多次应用的, 但是多次应用和一次应用的效果是一样的, 也就是有效的防止了多次应用造成的主节点和副节点内容不一致问题

!> 应用写库记录的时候是通过多线程分批次应用的, 这样大大提高了引用的效率和性能

posted @   BNTang  阅读(71)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示