Auto-sync: 2026-04-28 16:03

This commit is contained in:
2026-04-28 16:03:03 +08:00
parent f8b421ece6
commit 365caa800a
48 changed files with 1942 additions and 1249 deletions

View File

@@ -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 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