系统的升级涉及各个架构组件,细节很多。常年累月的修修补补使老系统积累了很多问题。 系统升级则意味着需要repair之前埋下的雷,那为何还要升级,可以考虑以下几个方面
成熟老系统常见问题:
1. 缺乏文档(这应该是大小公司都存在的问题。互联网项目的特点是易变和追求速度,详细文档不是很好的方案,大部分都是概要文档)
2. 项目中临时方案太多
3. 代码质量参差不齐
4. 繁杂的业务逻辑导致难以维护
5. 代码的BUG 和代码间互相依赖,一个组件的改动往往需要牵扯到一堆组件
6.使用的技术落伍,人家都鸟枪换炮了,咱还在石器时代发挥预热
迁移过程需要考虑的问题:
1. 测试,可以让新旧两套系统同时跑几个月,对比测试,这个时间里就会解决很多潜在的问题
2. 平滑迁移,让用户无感知是极好的
3. 回退方案, 即给自己留后路
4. 改进还是保持原状 好的方案是如果不是必须改的则保持原状,等系统完成迁移再进行改进。
5. 持续监控