在一个大型的公司,很容易就会遇到系统迁移,将原来的系统废弃 ,然后使用新的系统进行承载。在这个过程中就会涉及到系统迁移,在这个迁移的过程中你需要做哪些事情呢?
1、代码逻辑迁移,一定要读懂以前的逻辑,仔细想想,将领域模型设计好,然后使用设计模型将代码尽量的扩展,但是不要过度的抽象,如果抽象多了自己都看不懂。
2、业务切流,做好回切的能力、灰度的能力。
3、数据库数据的迁移,mysql数据同步到另外一个mysql
mysql的数据同步到hdfs,hbase
mysql数据同步到es
mysql数据同步到redis
开源届一般使用。datax或者 cancel
如果涉及到大数量,且涉及到业务逻辑处理,一般可以使用数据工厂的调度的方式进行批量处理。目前数据工厂如何做呢,充分使用任务调度,读取数据然后回调业务接口。
创建一个任务模版,任务模版可以单次执行,或者周期性的执行
脚本的管理,一般可以使用groovy脚本,使用groovy脚本支持业务自定义调用
基本就是读取这个任务配置的离线数据,读取总数,然后分切片,一次执行一个切片,然后回调业务
自己搭建吧。提高自己平台的能力。
4、时间管理,方案评审,系分时间,开发时间,提测时间,发布时间,数据迁移时间,灰度时间,正式切流完成时间
5、如何保证迁移数据正确?核对的方式,离线核对,就是将mysql中数据同步到hdfs,然后使用hive写sql进行不同业务比对。
或者实时核对,业务上发送消息,监听到消息之后,进行接口调用比对不同系统之间数据