DevOps:构建模块与质量提升策略
1. DevOps 的关键部署策略
1.1 特性开关(Feature Toggles)
特性开关允许团队在同一开发主线(无需使用分支)上工作,并将完整代码部署到生产环境。例如,在 Web 应用中,可以使用 Java 服务器页面(JSP)标签来隐藏尚未准备好向用户展示的功能部分。
特性开关的优点在于能够在负载下优雅地降低服务质量,还可作为灾难恢复策略的一部分,将系统恢复到已知状态。不过,它也存在缺点,生产代码中可能包含与特定版本无关的部分,这些代码可能影响其他部分或引发错误,且在用户界面上隐藏功能容易,但后端功能可能难以隐藏。
1.2 暗发布(Dark Launching)
暗发布是指在将新功能版本发布给所有用户之前,先将其部署到生产环境。该术语由 Facebook 提出,它将软件新版本的部署与功能发布解耦,可连续部署新版本,而不必考虑哪些用户能使用哪些功能。
通过先将新版本提供给部分终端用户,能更轻松地发现 bug。若早期版本出现问题,受影响的用户较少,且可通过关闭功能(如使用特性开关)或更改路由器设置来解决,而无需进行大规模回滚。暗发布可与蓝绿部署结合使用。
1.3 蓝绿部署(Blue - Green Deployment)
蓝绿部署的核心是将应用的新版本与旧版本并排部署。切换到新版本或回滚到旧版本只需更改负载均衡器或路由器设置。
这种部署方式确保有两个尽可能相似的生产环境,任何时候只有一个环境(如绿色环境)处于活动状态。在将新版本软件推向生产环境时,在蓝色环境中进行最终测试。当软件在蓝色环境中按预期运行、配置
超级会员免费看
订阅专栏 解锁全文
881

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



