
1) 【一句话结论】采用“双活数据中心+实时数据同步+自动化故障切换”的容灾架构,通过多副本存储与自动化恢复流程,确保课程录制回放服务达到99.9%可用性并实现分钟级快速恢复。
2) 【原理/概念讲解】老师:同学们,容灾的核心是“高可用+快速恢复”。首先,99.9%可用性意味着每年最多允许约9小时的停机时间(计算:365天×24小时/天×(1-0.999)=8.76小时)。我们设计的方案围绕“数据一致性”和“故障切换效率”展开:
类比:就像两个人同时工作,一个人生病了,另一个人立刻接手,且两人的工作内容实时同步,这样就不会有中断。
3) 【对比与适用场景】
| 方式/架构 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 数据同步方式 | 同步复制 | 主从节点实时同步数据变更,数据一致性高 | 对数据一致性要求极高的核心业务(如金融、核心系统) | 需要高带宽,故障切换延迟较高 |
| 异步复制 | 主节点将变更异步写入从节点,延迟较高 | 对实时性要求不高,但需快速恢复 | 可能存在数据丢失风险 | |
| 容灾架构 | 主从架构 | 单主节点+从节点,主节点故障时切换到从节点 | 对可用性要求高,成本较低 | 故障切换时可能有短暂中断 |
| 多活架构 | 多个节点同时提供服务,故障时无中断 | 对高可用性要求极高(如核心业务) | 成本较高,架构复杂 |
4) 【示例】
系统架构:
def sync_data():
while True:
changes = master_db.get_changes() # 从主库获取变更日志
slave_db.write(changes) # 写入从库
time.sleep(1) # 等待下一轮
5) 【面试口播版答案】
“面试官您好,针对课程录制回放的容灾方案,核心思路是构建‘双活数据中心+实时数据同步+自动化故障切换’的架构,确保99.9%可用性。首先,系统采用两个数据中心(主DC1和从DC2)同时提供服务,通过MySQL主从复制实现数据库实时同步,保证数据一致性。数据备份策略上,主数据中心采用本地磁盘+云存储的多副本存储,从数据中心同步后也保留多副本,满足故障时快速恢复。故障检测通过监控DC1的心跳和性能指标(如CPU、网络延迟),若检测到故障,自动将应用服务切换到DC2,恢复时间控制在分钟级。这样既保证了数据一致性,又实现了快速恢复,满足99.9%可用性要求。”
6) 【追问清单】
7) 【常见坑/雷区】