业务场景:项目需要把mysql的中数据同步到mongo
实现的方案:单线程将mysql的数据分批读取,每次读取将数据添加到队列中,改队列,由多线程来消费进行入库使用的是MongoRepository的insert进行单个插入,对于插入做了异常处理,有失败的会进行重试3次
目前存在的问题:将mysql的5000多w的数据读取,入库mongo后发现,丢失了500w条,查看日志并没有大量错误的日志,只有600多条因为网络原来导致的异常,这经过第二次重试均正常入库了
leochenliang 已回答的问题
你的mongoDB版本是什么,成员的配置是怎样的?因为到导入过程中,是很耗内存的操作,内存用尽,容易发生OOM,如果是副本集模式,建议你看一下日志,是否导入过程中发生了repl?
leochenliang 已回答的问题