不停机无故障迁库

本文介绍了在不停机且无故障的情况下,如何进行亿级数据的MongoDB数据库迁移,涉及双读双写策略、数据迁移脚本设计、防止数据重复的解决方案以及针对大规模数据的遍历方法。最终选择了先创建转发服务,通过脚本逐步迁移数据,确保业务连续性和数据一致性。
摘要由CSDN通过智能技术生成

之前有写过mongodb不停机迁移库思路https://blog.csdn.net/qq_28119741/article/details/89482676

但这次不仅是迁库,而且要重构代码,要搞一个新服务出来,db要迁移到新库中,要求不停机无故障,完成新服务上线和数据迁移,数据量是亿级别的。

大概讲下业务场景:一个阅读数的功能,只有add,判断是否读过,如果没有计数+1,存储用的mongodb

  1. 停机迁移:
    功能暂停指的是:停止对数据库进行读和写,系统返回降级数据或随机数据。
    先创建新服务,新服务只做转发,将所有的读、写请求转发到老系统(老系统最终会下掉) 
    => 提前写好数据迁移脚本 
    => 功能暂停 
    => 跑迁移脚本,完成数据迁移 
    => 上线新系统和新存储。
  2. 不停机迁移。
    方法一:先创建新服务,新服务只做转发,将所有的读、写请求转发到老系统 
    => 将所有对老系统的调用,改为调用新系统
    => 新系统实现单写双读
     => 跑数据迁移脚本,完成数据迁移,做阅读用户的merge
    => 系统实现单读单写,只对新库读写,去掉旧库的操作 
    => 迁移完成。
    方法二:改旧代码
    =>多一个操作就是写新库(双写单读就库)
    =>将迁库脚
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小卒曹阿瞒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值