3.1 流水执行任务
流水处理调度任务就是通过扫描待处理的流水,然后通知业务系统该执行哪一条流水。
示意图如下:
时序图如下:
3.2 流水校验任务
流水校验任务就是要比较主库和分库中的流水记录,对执行未成功的流水通知业务系统进行重新处理,如果多次重试失败则发出告警。
流程示意图:
时序图:
四、总体流程图
分库分表后的业务时序图如下L
说明:
因为写流水也是在事务里面,因此只有在事务提交后,流水才会被调度任务处理
由于只是保证最终一致性,因此流水处理会存在延迟,保证后置流程应不依赖当前流水的处理结果
五、数据迁移方案数据迁移主要分为3个阶段。
第一个阶段,双写双读
注意:通知读写主库和分库,并做比对,以主库为主,如果读取的结构不一致,发出告警
第二个阶段,历史数据迁移
注意:和DBA确认以后进行
第三个阶段,双写单读
注意:防止切换过程出现问题,数据不会丢失
第四个阶段,单写单读