最近在做一个数据同步,老发现有部分数据丢失的,一直怀疑同步的接口出了问题。

我们的定时任务是每天都从一个整合库同步数据过来,而整合库也是从其他地方同步数据的。为了减轻系统压力,我们会在限定的时间范围内进行分页同步,为了保证顺利同步完成,以同步时间顺序排序。

但是在系统运行了一段时间后,业务系统那边就经常有几条数据说整合库中是有的,但是同步库中没有同步到。

为了追查问题,我已经review了很多遍代码,又请其他同事review代码,也没发现同步代码出现什么问题。

直到有一次业务部门那边提供了几条没有同步到的数据,然后我那这几条数据去整合库中查询,的确是有数据,着整合库中的同步时间的确是当时的同步时间。很好奇,然后本地尝试去启动当时同步的任务,重新在本地同步一次。

奇诡的是,同步的数量竟然少了。