Day 083 — 部署策略架构图解
三大部署策略对比
滚动更新 (Rolling Update):
时间线 ──────────────────────────────────────────►
服务器: S1 S2 S3 S4 S5
旧版本: v1 v1 v1 v1 v1
步骤1: v2 ───────────────────────── ← 更新 S1
步骤2: v2 ──────────────────── ← 更新 S2
步骤3: v2 ─────────────── ← 更新 S3
步骤4: v2 ────────── ← 更新 S4
步骤5: v2 ───── ← 更新 S5
✅ 优点: 零停机、资源占用少
❌ 缺点: 部署期间版本不一致
蓝绿部署 (Blue-Green):
┌─────────────────────────────────────────────────┐
│ 负载均衡 │
│ │ │
│ ┌────────────┴────────────┐ │
│ │ │ │
│ ┌────▼────┐ ┌────▼────┐ │
│ │ Blue │ │ Green │ │
│ │ v1 │ │ v2 │ │
│ │ (活跃) │ │ (部署中) │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────┘
切换瞬间:
┌─────────────────────────────────────────────────┐
│ 负载均衡 │
│ │ │
│ ┌────────────┴────────────┐ │
│ │ │ │
│ ┌────▼────┐ ┌────▼────┐ │
│ │ Blue │ │ Green │ │
│ │ v1 │ │ v2 │ │
│ │ (备用) │ │ (活跃) │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────┘
✅ 优点: 版本一致、快速切换、简单回滚
❌ 缺点: 资源翻倍
金丝雀部署 (Canary):
┌─────────────────────────────────────────────────┐
│ 负载均衡 │
│ │ │
│ ┌────────────┴────────────┐ │
│ │ │ │ │
│ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │
│ │ 95% │ │ 5% │ │ 其他 │ │
│ │ v1 │ │ v2 │ │ v1 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────┘
流量渐进:
5% ──► 10% ──► 30% ──► 50% ──► 100%
新版本逐步接管所有流量
✅ 优点: 风险可控、可观察、渐进式
❌ 缺点: 复杂度高、需要完善的监控
部署流水线
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 打包 │──►│ 上传 │──►│ 备份 │──►│ 部署 │
│ tar.gz │ │ SCP/SFTP│ │ 旧版本 │ │ 解压 │
└─────────┘ └─────────┘ └─────────┘ └────┬────┘
│
┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ 完成 │◄──│ 验证 │◄──│ 重启 │◄───────┘
│ 通知 │ │ 健康检查 │ │ 服务 │
└─────────┘ └─────────┘ └─────────┘
│
▼ 失败
┌─────────┐
│ 回滚 │
│ 恢复旧版 │
└─────────┘
监控告警流程
┌──────────────────────────────────────────────────────┐
│ 监控系统 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ CPU 监控 │ │ 内存监控 │ │ 磁盘监控 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ └──────────────┼──────────────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ 阈值判断 │ │
│ └──────┬───────┘ │
│ │ │
│ ┌───────────┼───────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ ✅ 正常 │ │ ⚠️ 警告 │ │ 🔴 严重 │ │
│ └─────────┘ └────┬────┘ └────┬────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ │
│ │ 记录日志 │ │ 发送告警 │ │
│ └────────────┘ └────────────┘ │
└──────────────────────────────────────────────────────┘