1. 故障切换(Failover)的流程,检测、决策、切换、恢复?
故障切换(Failover)的完整流程是什么?检测、决策、切换、恢复各环节如何分工?
- 故障检测的方法与指标
- 切换决策与选主
- 切换后的路由更新与恢复
故障切换的完整流程通常分为四步:其一,检测——通过心跳、探活、复制延迟、连接数等指标判断主库是否故障,通常需要多轮确认(如连续 N 次心跳丢包)避免误判;其二,决策——根据故障类型(计划内/计划外)和一致性要求决定是否切换、切换候选(选主),并计算 RPO 达成情况;其三,切换——提升候选从库为新主、让其他从库重挂到新主、更新 VIP/域名/路由配置,使应用连接到新主;其四,恢复——原主恢复后作为从库重挂回新主,补拉日志,必要时做数据校验与业务验证。
故障切换的关键在于"检测的准确性"与"切换的幂等性"。检测要避免误判(防止不必要的切换),切换要保证新主数据最新(选主优先级、日志补拉)。自动切换工具(如 MHA、Patroni、Orchestrator)会封装这些环节,但人工介入的 Runbook 仍是计划外故障的兜底。切换后要验证业务连通与数据一致性。