蓝绿部署

简介: 蓝绿部署通过两套并行系统(绿为现役,蓝为新版本)实现无缝发布。蓝系统用于测试验证,无误后切换流量,确保快速回滚与高可用,适用于内聚性强、易切换的系统,但复杂场景需谨慎评估数据同步与切换逻辑。

蓝绿部署的目的是减少发布时的中断时间、能够快速撤回发布。
蓝绿部署中,一共有两套系统:一套是正在提供服务系统,标记为“绿色”;另一套是准备发布的系统,标记为“蓝色”。两套系统都是功能完善的,并且正在运行的系统,只是系统版本和对外服务情况不同。
最初,没有任何系统,没有蓝绿之分。
然后,第一套系统开发完成,直接上线,这个过程只有一个系统,也没有蓝绿之分。
后来,开发了新版本,要用新版本替换线上的旧版本,在线上的系统之外,搭建了一个使用新版本代码的全新系统。 这时候,一共有两套系统在运行,正在对外提供服务的老系统是绿色系统,新部署的系统是蓝色系统。

蓝色系统不对外提供服务,用来做啥?
用来做发布前测试,测试过程中发现任何问题,可以直接在蓝色系统上修改,不干扰用户正在使用的系统。(注意,两套系统没有耦合的时候才能百分百保证不干扰)
蓝色系统经过反复的测试、修改、验证,确定达到上线标准之后,直接将用户切换到蓝色系统:
切换后的一段时间内,依旧是蓝绿两套系统并存,但是用户访问的已经是蓝色系统。这段时间内观察蓝色系统(新系统)工作状态,如果出现问题,直接切换回绿色系统。
当确信对外提供服务的蓝色系统工作正常,不对外提供服务的绿色系统已经不再需要的时候,蓝色系统正式成为对外提供服务系统,成为新的绿色系统。 原先的绿色系统可以销毁,将资源释放出来,用于部署下一个蓝色系统。
蓝绿部署只是上线策略中的一种,它不是可以应对所有情况的万能方案。 蓝绿部署能够简单快捷实施的前提假设是目标系统是非常内聚的,如果目标系统相当复杂,那么如何切换、两套系统的数据是否需要以及如何同步等,都需要仔细考虑。

相关文章
|
人工智能 安全 算法
AI应用如何进行测试?
AI应用如何进行测试?
2204 0
|
前端开发
什么是 Mock 测试?掌握 Mock 测试的核心原理
Mock 的意思就是,当你很难拿到源数据时,你可以使用某些手段,去获取到跟源数据相似的假数据,拿着这些假数据,前端可以先行开发,而不需要等待后端给了数据后再开发。
|
3月前
|
Web App开发 人工智能 运维
3分钟让Chrome变聪明!Google AI保姆级激活教程!
本文手把手教你开启Chrome内置Gemini AI功能:自动网页总结、智能填表、购物比价、图片修改等。无需编程基础,提供“快捷方式”和“脚本激活”两种方法,适配美区账号+英文语言设置,5分钟即可让Chrome拥有AI大脑!
3673 9
|
Kubernetes 监控 Java
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
4182 1
|
JSON Kubernetes 数据格式
使用 Docker 搭建 IT-tools
本文介绍了 it-tools,一个集成了多种开发工具的平台,如 JSON/YAML 格式化、加密解密、Base64 转换等。支持通过 Docker、Docker Compose 和 K8s 部署,并提供了详细的命令示例。部署后可通过公网 IP 和端口访问。
499 1
|
前端开发 JavaScript API
提取网页所有链接免费API接口教程
此API用于提取指定网页内的所有链接信息并进行分类,支持POST和GET请求方式。需提供用户ID、KEY及目标网址等参数,可选指定访问节点。返回结果包括状态码、信息提示及各类链接集合,如图片、视频、文档等。示例中展示了请求格式与返回数据结构。
1295 0
|
Java Spring
优雅处理 Spring Boot 日志文件:高效、可维护的日志管理方案详解
优雅处理 Spring Boot 日志文件:高效、可维护的日志管理方案详解
1268 0