
1) 【一句话结论】:采用“多活架构+多级备份”的容灾方案,通过主备/多活服务器结合全量+增量+快照的异地数据备份,并配置自动化故障检测与切换机制,确保服务器故障时服务秒级切换,恢复流程自动化,保障视频访问不中断。
2) 【原理/概念讲解】:容灾的核心是“故障时服务不中断”,需理解高可用(HA)与容灾(DR)的区别:HA是同一时间只有一个主服务,故障时自动切换;DR是主备系统同时运行,故障时无缝接管。类比:医院有主手术室和备用手术室,主手术室故障时,备用能立即接手手术,患者体验无感知。关键点:故障检测(心跳检测)、服务切换(负载均衡器)、数据同步(确保备份数据与主数据一致)。
3) 【对比与适用场景】:
| 模式 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 主备(Active-Standby) | 主服务器运行生产流量,备服务器不处理流量,故障时切换 | 成本低,资源利用率低,切换时可能短暂中断 | 对服务可用性要求极高(如视频系统) | 备服务器需保持数据同步,切换时需验证数据一致性 |
| 主主(Active-Active) | 两个服务器同时处理流量,负载均衡分配 | 资源利用率高,故障时需负载均衡重新分配 | 流量波动大,需高并发处理(如视频点播高峰) | 需数据同步(如数据库同步),配置复杂,可能存在数据冲突 |
4) 【示例】:
备份策略伪代码:
def backup_video_data():
full_backup() # 每周全量备份
incremental_backup() # 每日增量同步
system_snapshot() # 每2小时生成快照
sync_to_remote_storage() # 异地实时同步
故障切换(Nginx负载均衡示例):
upstream video_servers {
server 192.168.1.10:80 weight=80; # 主服务器
server 192.168.1.20:80 weight=20; # 备服务器(不处理流量)
}
check health {
interval 10s
timeout 5s
rise 2
fall 2
http get /health check
}
if server 192.168.1.10 is unhealthy:
switch to server 192.168.1.20
5) 【面试口播版答案】:
“面试官您好,针对课程视频录制和回放系统的容灾设计,核心思路是构建‘多活架构+多级备份’的方案,确保服务器故障时服务秒级切换。具体来说,备份策略上采用‘全量+增量+快照’结合异地存储:全量备份每周执行,增量备份每日同步最新数据,系统快照每2小时生成,所有数据同步至异地数据中心(如云存储或异地机房),保证RPO(恢复点目标)在分钟级。恢复流程则通过自动化监控实现:心跳检测主服务器状态,当检测到故障(如无响应或错误日志)时,负载均衡器自动切换流量至备用服务器,切换后验证视频回放功能(如播放指定视频是否正常),整个流程自动化,RTO(恢复时间目标)控制在秒级。这样既能保证故障时服务不中断,又能快速恢复数据,满足用户访问需求。”
6) 【追问清单】:
7) 【常见坑/雷区】: