MongoDB 增量同步流程是怎样的

MongoDB 增量同步流程是怎样的

展开
收起
一人吃饱,全家不饿 2021-01-08 17:27:39 838 分享 版权
1 条回答
写回答
取消 提交回答
    1. Oplog Fetcher 线程负责拉取 Oplog Find 命令创建 Tailable Cursor,GetMore 命令批量从同步源拉取 Oplog,单个 Batch 最大 16MB;
    2. 拉取的 Oplog Batch 放到内存中的 Blocking Queue 中;
    3. ReplBatcher 线程负责从 Blocking Queue 中取出 Batch 生成新的可 Apply 的 Batch 放到 Deque 中,这里主要是因为需要控制并发,有些操作需要放到一个单独的 Batch;
    4. OplogApplier 线程负责从 Deque 中取出 Batch 写 Oplog, 然后把 Batch 拆分, 分发到 Worker 线程进行并发 Apply;
    5. 为了保持一致性,中间需要保存多个不同的 Oplog 应用位点信息。
    2021-01-11 10:12:17
    赞同 展开评论

数据库领域前沿技术分享与交流

收录在圈子:
+ 订阅
让用户数据永远在线,让数据无缝的自由流动
还有其他疑问?
咨询AI助理