存量系统迁移重构总结
- 存量功能分析角度
- 业务背景
- 代码走读
- 生产数据排查
- 排查原则(是否是必要逻辑、是否可移除、是否过度设计、是否可简化逻辑)
- 方案设计
- 不要过度设计,适合业务的方案才是最好的。结合业务场景,保留扩展点,而非将所有功能都做扩展点。
- 尽量利用现有基础设施做重构,去优化路程,而非整体重写造轮子。
- 方案设计之初,就应考虑灰度验证方案、回退方案、上下游联动回滚。
- 重构过程
- 结对编程,重构某功能时,让新开发人去独立设计、编码。原开发人参与评审、复核。交叉角色带来的好处,原开发人能跳出定势思维、原有方案掣肘,新开发也能放开手脚去设计。坏处是开发周期会延长20%。
- 重构后,如何保证功能等价? 通过单测、CI自动化用例、准生产环境回放等手段
- 核心逻辑稳定性,核心逻辑抽象成sdk组件,不轻易修改。外围适配业务逻辑更改,也不会影响到核心逻辑。
- 准生产切片验证
- 生产数据录制、回放。思路:将应用接口的req/rsp录制保存,在重构后,对比相同req请求下,返回的rsp关键字段是否一致。
- 投产质量保证,操作指令、测试全流程操作、回放覆盖、投产节奏控制
- 操作指令,按时间线,将整个迁移过程中需人工操作的内容汇总,形成一组上下游贯穿的操作文档,据此可打通开发、测试、运维间、上下游系统间的操作信息差。
- 灰度策略选择(按流量、按客户、按数据范围)
posted @
2022-06-15 17:10
starmoon1900
阅读(
139)
评论()
编辑
收藏
举报