公司原有项目是使用某个国产框架的,现在这框架已经很久没维护了,论坛也没啥人更新,于是要求迁移到 springboot 上 其实是我主动提的 前端是若干个小程序,项目架构是小程序通过 nginx 访问后端服务,没有网关,没有中间层; 梳理完业务和功能后,发现工作量巨大,700 多个接口。几乎所有接口都要手动改一遍。 目前正在确定发布方案和回滚方案,我思考的方案如下: 发布方案 方案一: 渐进式发布方案 [ol]后端服务隔一定周期(比如一周),或若干个模块,完成开发和测试后,先行上线一部分接口;新老项目同时并存,线上重新发布一个服务,端口待定,老的小程序访问老的项目,新的小程序访问新的项目;小程序端修改这部分接口的访问域名为新项目,并发布体验版进行内部测试;内部测试完成后上线; 优点:[ol]上线范围可控,数量可控,能减少一次性大规模部署带来的风险; [/ol] 缺点:[ol]接口出现问题,因为小程序端修改了 URL ,无法快速回滚; [/ol] [/ol] 方案二: 整体迁移发布方案 [ol]项目迁移完成且测试完毕后一起上线;新服务,或通过权重配置,切换一部分流量到新项目;新老项目同时并存,线上重新发布一个服务,端口待定,将 nginx 流量切换到新项目;内部测试完成后上线; 优点:[ol]接口出现大范围问题,可以快速切换回原项目; [/ol] 缺点:[ol]接口多,出现问题几率大; [/ol] [/ol] 请问大佬们,有什么好的补充点以及方案吗? 谢谢!