Files
nexus/wiki/concepts/Blue-Green-Deployment.md
2026-04-28 16:03:03 +08:00

51 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Blue-Green Deployment"
type: concept
tags:
- AWS
- Aurora
- Database
- Deployment
- Release Management
sources:
- ctp-topic-66-exposing-the-differences-between-postgresql-rds-and-aurora
last_updated: 2026-04-23
---
## Overview
Blue-Green Deployment蓝绿部署是一种零停机部署策略通过维护两套相同环境Blue 和 Green实现快速、平滑的版本切换最小化部署风险。
## How It Works
1. **Blue 环境**:当前生产环境
2. **Green 环境**:与 Blue 完全相同的新版本副本
3. **部署过程**
- 在 Green 环境部署和验证新版本
- 验证通过后,将流量从 Blue 切换到 Green
- Blue 环境保留作为即时回滚的备用
## Aurora Blue-Green Deployment
Aurora MySQL 支持数据库层的 Blue-Green Deployment用于 Major Version UpgradeMaj-Vu
- **原理**:通过逻辑复制(基于 Binlog将 Blue 环境的变更同步到 Green 环境
- **Guardrails**:内置保护机制防止数据丢失
- **限制**:仅 Aurora MySQL 支持;**Aurora PostgreSQL 不支持**
### vs Traditional Database Upgrade
| 方式 | 停机时间 | 风险 | 数据保护 |
|------|---------|------|---------|
| In-place Major Upgrade | 分钟级,取决于数据大小 | 高,需执行升级脚本 | 依赖备份 |
| Blue-Green Deployment | 接近零 | 低,可即时回滚 | 自动保护 |
## Related Concepts
- [[Canary Deployment]]:渐进式流量分配,另一种低风险部署策略
- [[Amazon Aurora]]Aurora MySQL 支持 Blue-Green Deployment
- [[Amazon RDS]]RDS PostgreSQL 不支持 Blue-Green Deployment
- [[Release Management]]:蓝绿部署属于发布管理的工具之一
- [[RTO]]Blue-Green Deployment 可将数据库升级的 RTO 降至接近零
## Aliases
- Blue-Green
- Blue Green Deployment
- 蓝绿部署
- 双环境部署
- Zero-Downtime Deployment