用途:在系统持续运行、不能停机的约束下,对遗留系统进行增量式现代化改造。核心思路是顺序优先于单项技术,每一步都让下一步更安全。
主要流程:先为现有行为(包括 bug)编写特征测试,固定当前输出;可用 approvaltests、sycrepy 等金主/审批测试快速覆盖复杂代码。随后用变异测试检查测试网是否真的覆盖即将改动的分支。接着用抽象分支插入接缝,引入接口并让调用方经由它路由,同时仍委托旧代码,此步为可单独发布验证的无操作变更。在新接缝后构建替代实现,先暗跑或关闭开关。再用开关逐步切换流量:内部用户、百分比、全量;每步前先以指标和阈值命名回滚触发条件(如错误率超过 0.5% 持续五分钟则退回上一百分比)。新路径在生产环境稳定运行足够久、覆盖月末任务与季节高峰等慢场景后,才删除旧路径。
约定:不做大爆炸式重写;每一步都可发布、可回滚;涉及金钱或状态计算时先并行运行、比对日志再切换;整体形态采用绞杀者模式,前面加门面按功能路由,逐条迁移直至旧系统无流量后移除;默认保留行为(含 bug),修复作为独立可见变更;数据库迁移采用扩展-收缩:加列、双写、回填、切换读取、删除旧列,每阶段可独立部署。
限制:资料未提供具体安装命令、收费方式、支持平台或版本要求,暂未提供。