蓝绿部署
概述
蓝绿部署是一种软件发布策略,通过运行两个相同的生产环境(蓝色和绿色)来实现零停机时间的版本更新。
关键内容
- 基本原理:
- 蓝色环境和绿色环境是完全相同的生产环境
- 在任意时刻,只有一个环境对外提供服务
- 当需要发布新版本时,在非活动环境中部署新版本
-
验证完成后,通过切换路由将流量导向新环境
-
实施流程:
- 假设绿色环境正在服务线上流量(生产环境)
- 蓝色环境用于部署和测试新版本
- 完成测试验证后,将路由器指向蓝色环境
-
此时蓝色环境成为新的生产环境,绿色环境变为待命状态
-
优势:
- 零停机时间部署
- 快速回滚能力(只需切换路由)
-
风险可控,新旧版本可在同一基础设施上并存
-
挑战:
- 需要双倍的基础设施资源
- 数据库变更需特殊处理
-
环境同步可能存在问题
-
适用场景:
- 需要高可用性的关键业务系统
- 不允许停机的应用
- 需要快速回滚机制的发布
来源
- 部署专家 — 部署策略之一