目标
参考ETL框架思想达到以下三点 ,实际的ETL是有各种框架
1,保留第三方数据源;
2,业务和数据源隔离;
3,提高维护性。
定时任务结构
1,采用分布式锁控制,并且控制每个任务执行的时间
2,每个任务使用任务info表进行控制是否执行,以及显示最后一次同步的信息
3,采用操作日志表单记录每次执行的结果
dbLock.lock("test",2,()->{
log.info("执行测试任务,时间:{}",System.currentTimeMillis());
//查找任务的状态是否可以执行,并且得到上一次的同步时间
//执行具体的任务
log.info("完成测试任务,时间:{}",System.currentTimeMillis());
//执行结果,将任务的执行时间进行修改
//添加操作的记录
});
注意问题:
1,因为采用了分布式锁控制加了时间控制,所以对于接口的调用就不那么友好,将会出现无法调用的情况。
数据的抽取
1,数据库的字段保持一致,比如字典的字段
2,数据库的字段名可以修改,但是注意做好相关的备注
3,字段不完全抽取