在项目迭代的过程中,不可避免需要上线。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多部署发布的技术, 这儿将常见的做一个总结。
上面所说难免有些抽象, 举一个情景例子, 假如你是微博项目负责人员, 现在新版本较原来的老版本有很大的改变, 这设计到服务架构、前端UI等等, 经过测试功能没有障碍, 那么这时候如何让用户切换到新的版本呢?
显而易见, 第一次发布的应用是没有所谓的这个问题的, 这种如何发布的思考只会出现在后面的版本迭代中。
蓝绿发布
蓝绿部署中,一共有两套系统:一套是正在提供服务系统(也就是上面说的旧版),标记为“绿色”;另一套是准备发布的系统,标记为“蓝色”。两套系统都是功能完善的,并且正在运行的系统,只是系统版本和对外服务情况不同。正在对外提供服务的老系统是绿色系统,新部署的系统是蓝色系统。

蓝色系统不对外提供服务,用来做啥?
用来做发布前测试,测试过程中发现任何问题,可以直接在蓝色系统上修改,不干扰用户正在使用的系统。
蓝色系统经过反复的测试、修改、验证,确定达到上线标准之后,直接将用户切换到蓝色系统, 切换后的一段时间内,依旧是蓝绿两套系统并存,但是用户访问的已经是蓝色系统。这段时间内观察蓝色系统(新系统)工作状态,如果出现问题,直接切换回绿色系统。
当确信对外提供服务的蓝色系统工作正常,不对外提供服务的绿色系统已经不再需要的时候,蓝色系统正式成为对外提供服务系统,成为新的绿色系统。原先的绿色系统可以销毁,将资源释放出来,用于[部署下一个蓝色系统。
蓝绿发布特点
-
蓝绿部署的目的是减少发布时的中断时间、能够快速撤回发布。
-
两套系统没有耦合的时候才能百分百保证不干扰
蓝绿发布注意事项
蓝绿部署只是[

本文介绍了在项目迭代中常见的三种部署策略:蓝绿发布、滚动发布和灰度发布。蓝绿发布通过两套系统交替服务,确保低中断时间和快速回滚能力;滚动发布逐个替换服务器,节省资源但回滚困难;灰度发布则允许部分用户使用新版本,逐步扩大范围,确保系统稳定性。A/B测试则是效果验证手段,关注不同版本服务的实际表现。这些策略各有优缺点,适用于不同的系统复杂性和需求场景。
最低0.47元/天 解锁文章
738

被折叠的 条评论
为什么被折叠?



