故障转移

主节点故障后由副本接管写入的过程;涉及故障检测、选主、切换与客户端重连,切换期间常伴随短暂不可写与数据回退风险,需要演练验证。

流程

流程
1. 故障检测(心跳超时/健康检查失败)
2. 选主(共识协议或仲裁)
3. 提升新主,旧主降级为副本
4. 客户端刷新路由并重连
5. 旧主回归后按规则回补数据

切换与回归检查

阶段检查项
切换前复制延迟在阈值内;脚本与权限就绪
切换中选主唯一;旧主已被隔离或降级
切换后客户端路由刷新;写入恢复;监控正常
回归旧主数据回补与校验,确认无分叉
检测超时过短会造成误切换,过长则停写时间拉长;阈值要结合业务容忍度与网络抖动实测确定。

易错点

  • 未演练切主流程,真实故障时切换脚本执行失败
  • 切换后客户端仍缓存旧主地址,写入持续失败

数据来源与参考

  • 《数据密集型应用系统设计》(Kleppmann)第 5、9 章
  • AWS Well-Architected Framework:Reliability Pillar
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌