
1) 【一句话结论】采用“异地多活+热备+冷备”混合容灾架构,容灾站点选在地理隔离的相邻城市(如昆明与曲靖),通过实时数据库同步(MySQL主从复制)和增量文件同步,确保主站点故障时30分钟内恢复服务。
2) 【原理/概念讲解】老师口吻:容灾站点位置需满足地理隔离(避免自然灾害同时影响,如选不同城市),比如主站点在昆明,容灾站点在曲靖。数据同步方式分两类:①实时同步(如MySQL主从复制,通过binlog日志实时同步数据,保证数据一致性);②定时同步(如rsync每小时同步一次日志文件,补充增量数据,避免实时同步延迟)。恢复流程分三步:①故障检测(监控系统实时监控主站点服务状态,如数据库连接超时);②切换(自动触发脚本,将数据库连接切换到容灾站点的slave);③验证(检查数据完整性和服务可用性,如验证用户数据是否一致)。
3) 【对比与适用场景】
| 容灾策略 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 热备 | 主备系统实时同步,随时可切换 | 系统状态实时一致,切换时间短(秒级) | 对服务可用性要求极高(如银行、政务系统) | 成本高,需高性能硬件 |
| 冷备 | 备份系统不运行,故障时恢复 | 切换时间长(小时级),需完整恢复 | 对成本敏感,故障频率低 | 需定期测试恢复流程 |
| 温备 | 处于待机状态,故障时快速启动 | 切换时间介于热备与冷备之间 | 介于两者之间,需一定维护 | 需定期维护,成本中等 |
4) 【示例】
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='rep_user', MASTER_PASSWORD='secret', MASTER_AUTO_POSITION=1;
mysql> START SLAVE;
容灾站点(曲靖)配置:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.200', MASTER_USER='rep_user', MASTER_PASSWORD='secret', MASTER_AUTO_POSITION=1;
mysql> START SLAVE;
# 故障检测
if is_master_down():
# 切换数据库连接
connect_to_slave('192.168.1.200', 'rep_user', 'secret')
# 验证数据一致性
if check_data_consistency():
start_application_service()
else:
trigger_backup_and_restore()
5) 【面试口播版答案】
面试官您好,针对云南省公安机关警务信息系统,我设计的容灾方案核心是构建“异地多活+热备”的混合架构。首先,容灾站点选在地理隔离的相邻城市(如昆明与曲靖),避免自然灾害同时影响。数据同步采用MySQL主从实时复制,确保数据实时一致,同时配合增量文件同步(如rsync每小时同步一次日志文件),补充实时同步的延迟。恢复流程:故障检测由监控系统实时监控主站点服务状态,一旦检测到故障(如数据库连接超时、服务不可用),自动触发切换脚本,将数据库连接切换到容灾站点的slave,同时验证数据一致性(如检查用户数据是否完整),最后启动应用服务,确保在30分钟内恢复服务。这样既能保证数据一致性,又能快速切换,满足警务信息系统对高可用性的要求。
6) 【追问清单】
7) 【常见坑/雷区】