重构系统之前需要做哪些预备工作
系统业务文档的梳理
1、梳理耗时严重的业务逻辑,设计优化方案,具体包括:
1、线上实时访问db读取
(1)产品服务隔离
(2)离线跑批任务
2、梳理慢sql(找dba拉取慢查询日志),走索引,最左原则(扩展explain)
3、减少无谓的DB交互,批量捞取数据
4、Redis缓存,缓存时间热加载配置,大流量是调整缓存时间
5、减少无谓的接口交互,提需求批量接口
6、批量列表逻辑开启多线程处理;
2、梳理通用的业务场景,可以在系统重构的时候单独抽离出来;模版设计模式,收拢统一接口,减小迭代开发的成本。
3、梳理依赖服务的服务,那么这个时候你就需要着重对这些被调用方的服务加以关注。(接口注释是否完善,接口内部是否需要做性能优化等,依赖强弱,接口异常兼容)
4、梳理重复或者无意义的业务场景,可以做到精简。
业务并线问题
通常系统重构的时候,线上的业务线依旧是会处于一个正常迭代的情况,因此你在做系统重构的时候需要时刻和线上系统代码的做定时同步更新
启动重构
1、包目录下的类堆积严重,没有明显的界限划分 ==> 通用工具类,业务拆分包目录。
2、接口的状态码含义不明确 ==> 接口状态码的设计。
3、配置中心升级
4、统一将 util 都放入到指定的公共模块中进行引用,避免重复造轮子