温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库Failover是什么

发布时间:2026-10-10 15:49:03 来源:亿速云 阅读:96 作者:小樊 栏目:数据库

数据库 Failover(故障转移) 是指在数据库系统发生故障时,自动或手动将数据库服务从故障节点切换到备用节点,以保证系统的高可用性和业务连续性。


一、核心概念

  • 主节点(Primary / Master):正常情况下对外提供读写服务的数据库节点
  • 备节点(Standby / Slave / Replica):平时同步主节点数据,主节点故障时接管服务
  • Failover:主节点不可用 → 备节点提升为新主节点 → 应用继续访问数据库

二、常见触发场景

  • 主数据库服务器宕机
  • 数据库进程崩溃
  • 网络分区(主节点失联)
  • 存储故障(磁盘损坏)

三、Failover 的类型

1. 自动 Failover

  • 由高可用组件自动完成(如 Keepalived、MHA、Patroni、Oracle Data Guard)
  • 优点:恢复快,人工介入少
  • 风险:可能误判(如网络抖动导致脑裂)

2. 手动 Failover

  • 由 DBA 主动执行切换
  • 优点:可控、安全
  • 缺点:恢复慢,依赖人工

四、典型实现方式

数据库 高可用 / Failover 方案
MySQL MHA、Orchestrator、InnoDB Cluster
PostgreSQL Patroni + etcd、repmgr
Oracle Data Guard(自动/手动)
SQL Server AlwaysOn AG
Redis Sentinel、Cluster

五、关键问题与挑战

  1. 数据一致性
    • 异步复制可能丢数据
    • 同步复制影响性能
  2. 脑裂(Split-brain)
    • 原主未真正宕机,新旧主同时写
  3. 应用重连
    • 需要使用 VIP / 域名 / 服务发现

六、简单示例(逻辑)

正常:
App → Primary(DB1)

Primary 宕机:
检测失败 → 提升 Standby(DB2) → App → New Primary(DB2)

如果你愿意,我可以:

  • 用 某个具体数据库(如 MySQL / PostgreSQL) 详细讲
  • 画一个 Failover 架构图
  • 解释 Failover vs Switchover 的区别
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手