项目发布的方式
蓝绿部署 (也叫双服务器组发布)
滚动发布 (也叫单服务器组)
灰度发布/金丝雀部署
一 蓝绿部署
1、定义
蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。
1、特点
蓝绿部署无需停机,并且风险较小。
2、布署过程
第一步、部署版本1的应用(一开始的状态)
所有外部请求的流量都打到这个版本上。
第二步、部署版本2的应用
版本2的代码与版本1不同(新功能、Bug修复等)。
第三步、将流量从版本1切换到版本2。
第四步、如版本2测试正常,就删除版本1正在使用的资源(例如实例),从此正式用版本2。
蓝绿发布的注意事项
当你切换到蓝色环境时,需要妥当处理未完成的业务和新的业务。如果你的数据库后端无法处理,会是一个比较麻烦的问题;
可能会出现需要同时处理“微服务架构应用”和“传统架构应用”的情况,如果在蓝绿部署中协调不好这两者,还是有可能会导致服务停止。
需要提前考虑数据库与应用部署同步迁移 /回滚的问题。
蓝绿部署需要有基础设施支持。
在非隔离基础架构( VM 、 Docker 等)上执行蓝绿部署,蓝色环境和绿色环境有被摧毁的风险
优势:
升级切换和回退速度非常快
不足:
切换是全量的,如果 V2 版本有问题,则对用户体验有直接影响;
需要两倍机器资源;
适用场合:
对