高可用架构 学习笔记(第 5 部分)
2.3 容灾多活
2.3.1 故障类型
大面积机房设备故障:
code
容灾多活故障类型:
架构失效
├── 高可用架构失效
├── 主站点失效
└── 备站点失效
自然灾害
├── 地震
├── 火灾
├── 洪水
└── 台风
区域性故障
├── 大面积停电
├── 网络骨干故障
└── 数据中心损毁2.3.2 故障特点
| 特点 | 说明 | 示例 |
|---|---|---|
| 恢复时间长 | 需要重建基础设施 | 机房火灾需要重建 |
| 手动切换 | 需要人工决策和干预 | 确认灾备中心接管 |
| 允许数据丢失 | 极端情况下可能丢失部分数据 | 非实时同步的数据 |
| 成本高 | 需要异地数据中心 | 维护多个数据中心 |
2.3.3 容灾等级
code
容灾等级分类:
Tier 0: 无异地备份
├── 无异地数据
├── 恢复时间: 数天到数周
└── 数据丢失: 全部
Tier 1: 本地磁带备份,异地保存
├── 每日备份,异地存储
├── 恢复时间: 数天
└── 数据丢失: 1天
Tier 2: 异地热备
├── 实时数据复制
├── 恢复时间: 数小时
└── 数据丢失: 数分钟
Tier 3: 异地双活
├── 两地同时服务
├── 恢复时间: 数分钟
└── 数据丢失: 秒级
Tier 4: 异地多活
├── 多地同时服务
├── 恢复时间: 秒级
└── 数据丢失: 02.3.4 容灾架构方案
1. 主备架构
code
主备架构:
┌─────────────────┐
│ 北京主数据中心 │
│ ├── 应用服务 │
│ ├── 数据库主 │
│ └── 存储主 │
└────────┬────────┘
│ 异步复制
↓
┌─────────────────┐
│ 上海备数据中心 │
│ ├── 应用服务 │
│ ├── 数据库从 │
│ └── 存储从 │
└─────────────────┘
特点:
- 成本较低
- 恢复时间: 数小时
- 数据丢失: 分钟级
- 适用: 中小型企业2. 双活架构
code
双活架构:
用户请求
↓
DNS 负载均衡
↓
┌────────┴────────┐
│ │
↓ ↓
┌─────────┐ ┌─────────┐
│ 北京中心 │ │ 上海中心 │
│ (活跃) │ │ (活跃) │
├─────────┤ ├─────────┤
│ 应用集群 │ │ 应用集群 │
│ 数据库主 │←─→│ 数据库主 │
└─────────┘ └─────────┘
│ │
└──────┬──────┘
↓
数据同步层
特点:
- 两地同时提供服务
- 恢复时间: 分钟级
- 数据丢失: 秒级
- 适用: 大型企业3. 多活架构
code
多活架构:
用户请求
↓
全局负载均衡 (GSLB)
↓
┌────────┬────────┬────────┐
│ │ │ │
↓ ↓ ↓ ↓
┌────┐ ┌────┐ ┌────┐ ┌────┐
│北京│ │上海│ │广州│ │深圳│
│中心│ │中心│ │中心│ │中心│
└────┘ └────┘ └────┘ └────┘
│ │ │ │
└──────┼──────┼──────┘
│ │
数据同步层 (分布式数据库)
特点:
- 多地同时提供服务
- 恢复时间: 秒级
- 数据丢失: 0
- 适用: 金融、互联网巨头