最近平台服务重构记录一下
重构步骤:
服务拆分->技术选型->需求分析->领域模型设计->概要设计文档编写->微服务底座开发->服务代码开发->1.0迁移方案确认->uat环境大量验证(测试入场)->停机切换->性能优化
服务拆分
一开始服务是一个单体服务,我们根据服务对外提供的能力将服务拆为四层
1.bff层 作为业务网关,聚合业务行为 2.业务中心层
3.基础能力层
4.基础数据层
技术选型
springcloud alibaba全家桶对微服务进行管理监控
数据迁移流程设计
使用停机迁移的方案: 1.梳理需要迁移的表
2.整理1.0与2.0表的映射关系
3.编写数据迁移服务(包括全量同步+增量同步) 通过数据迁移服务迁移数据 1.全量迁移数据 2.监听binlog数据,发送到mq,存在有新增更新数据,重新迁移。 异常处理: 1.通过唯一主键保证数据不会重复迁移 2.如果中途宕机,重新迁移
4.编写数据校验服务 1.批量循环比较内容,不同的以1.0数据为准,覆盖2.0表 2.比较数量,补充迁移