Auto-sync: 2026-04-28 16:03
This commit is contained in:
@@ -1,84 +1,50 @@
|
||||
---
|
||||
title: "Blue-Green Deployment"
|
||||
type: concept
|
||||
tags: [devops, deployment, release-management, high-availability]
|
||||
date: 2025-03-01
|
||||
---
|
||||
|
||||
## Definition
|
||||
|
||||
蓝绿部署(Blue-Green Deployment)是一种零停机发布策略,维护两套相同的生产环境(蓝环境和绿环境),通过负载均衡器切换流量实现无缝部署和快速回滚。
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Load Balancer
|
||||
│
|
||||
┌──────────┴──────────┐
|
||||
│ │
|
||||
Blue Env Green Env
|
||||
(Production) (Staging)
|
||||
│ │
|
||||
v1.0 v1.1 (New)
|
||||
│
|
||||
Traffic ON Traffic OFF
|
||||
```
|
||||
|
||||
## Deployment Flow
|
||||
|
||||
```
|
||||
1. Blue (v1.0) serving all traffic
|
||||
2. Deploy to Green (v1.1)
|
||||
3. Test/Verify Green
|
||||
4. Switch LB to Green
|
||||
5. Blue becomes standby (or update to next version)
|
||||
```
|
||||
|
||||
## Key Benefits
|
||||
|
||||
| 优势 | 描述 |
|
||||
|------|------|
|
||||
| 零停机 | 流量切换瞬间完成 |
|
||||
| 快速回滚 | 切换回蓝色环境即可 |
|
||||
| 测试完整性 | 完整生产环境测试 |
|
||||
| 风险可控 | 新版本未暴露给全部用户 |
|
||||
|
||||
## Comparison: Blue-Green vs Canary
|
||||
|
||||
| 维度 | Blue-Green | Canary |
|
||||
|------|-----------|--------|
|
||||
| 流量切换 | 全量切换 | 渐进式 |
|
||||
| 回滚速度 | 秒级 | 秒级 |
|
||||
| 资源成本 | 2x | 增量 |
|
||||
| 适用场景 | 关键系统 | 持续迭代 |
|
||||
| 风险 | 全量暴露 | 逐步暴露 |
|
||||
|
||||
## In ITSM Context
|
||||
|
||||
在[[ITSM 2.0]]的[[Release-Management]]中,蓝绿部署是关键实践:
|
||||
|
||||
```
|
||||
Release Management 2.0
|
||||
├── Blue-Green Deployment
|
||||
│ ├── 零停机发布
|
||||
│ ├── 秒级回滚
|
||||
│ └── 全量验证
|
||||
├── Canary Release
|
||||
│ ├── 渐进式发布
|
||||
│ └── 实时监控
|
||||
└── DevOps-integrated ITSM
|
||||
├── CI/CD Pipeline
|
||||
└── Automated Governance
|
||||
```
|
||||
|
||||
## Related Concepts
|
||||
|
||||
- [[Release-Management]] — 发布管理总框架
|
||||
- [[Canary-Release]] — 金丝雀发布
|
||||
- [[High-Availability]] — 高可用架构
|
||||
- [[Failover]] — 故障转移
|
||||
- [[Deployment-Automation]] — 部署自动化
|
||||
|
||||
## Sources
|
||||
|
||||
- [[understanding-complete-itsm]] — Blue-Green在现代ITSM中的应用
|
||||
---
|
||||
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 Upgrade(Maj-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
|
||||
|
||||
Reference in New Issue
Block a user