2、数据库高可用架构概述:主从复制、集群模式、分布式数据库的基本概念

在变更窗口内进行数据库可靠性配置,首先需要理解数据库高可用架构的核心模式。不同的架构决定了故障切换速度、数据一致性级别以及运维复杂度。本节将系统梳理三种主流高可用架构:主从复制、集群模式和分布式数据库,为后续的可靠性配置实战奠定理论基础。

2.1 主从复制架构

主从复制是最基础、应用最广泛的高可用方案。其核心思想是:一台主库(Master)负责处理写请求,一台或多台从库(Slave)通过异步或半同步方式复制主库的 Binlog(二进制日志),提供读扩展或故障切换能力。

关键指标: 主从复制延迟(Seconds_Behind_Master)是衡量健康度的核心指标,变更窗口内应确保延迟 < 1s 方可进行切换操作。

主从复制核心流程

  1. 主库写入: 应用发起写操作,主库提交事务并记录 Binlog。
  2. 日志传输: 从库的 I/O 线程连接主库,拉取 Binlog 并写入本地 Relay Log(中继日志)。
  3. 日志回放: 从库的 SQL 线程读取 Relay Log,在本地顺序回放,完成数据同步。
  4. 状态检测: 监控工具定期检查主从心跳和延迟,判断复制链路是否正常。
变更窗口建议: 主从切换前,务必先设置主库为 read_only 并等待从库追上所有 Relay Log,避免数据不一致。

2.2 集群模式架构

集群模式通常指多个数据库节点组成一个整体,通过共识算法或共享存储实现强一致性和自动故障转移。典型代表包括 MySQL Group Replication(MGR)、Galera Cluster 以及 PostgreSQL 的 Patroni + etcd 方案。

特性 主从复制 集群模式
一致性 最终一致性(异步) 强一致性(多数派写入)
故障切换 手动或半自动(需选主) 自动(秒级)
写扩展 单点写入 多节点写入(需解决冲突)
网络要求 低延迟即可 低延迟 + 高稳定(心跳敏感)
变更窗口风险 切换时可能丢数据 节点重启后需 State Transfer
避坑提示: 集群模式在变更窗口内重启节点时,如果网络抖动导致多数派丢失,可能触发全集群只读保护。务必在业务低峰期操作,并确保至少 3 个节点存活。

2.3 分布式数据库架构

分布式数据库将数据按分片键(Shard Key)水平拆分到多个存储节点,每个分片内部通常再叠加主从复制或集群模式。典型产品包括 TiDB、OceanBase、CockroachDB 以及 ShardingSphere 生态。其核心组件包括:

  • 计算层(SQL 引擎): 解析 SQL,生成分布式执行计划,协调跨分片事务。
  • 存储层(分片节点): 每个分片是一个独立的 Raft/Paxos 组,保证数据强一致。
  • 元数据服务: 维护分片路由表、节点状态、Schema 信息。
  • 调度器: 自动均衡分片分布,处理节点扩缩容。
分布式数据库分层架构 计算层(SQL 引擎) SQL 解析 · 分布式执行计划 · 跨分片事务协调 元数据服务 调度器(自动均衡) 分片 1 Raft Group (3 副本) Leader + 2 Follower 分片 2 Raft Group (3 副本) Leader + 2 Follower 分片 N Raft Group (3 副本) Leader + 2 Follower 每个分片独立运行 Raft 共识算法,写入需多数派确认;调度器根据负载自动迁移分片 变更窗口内扩缩容时,调度器会触发分片搬迁,需预留网络带宽和 IOPS

2.4 三种架构对比与选型

在变更窗口场景下,不同架构的运维关注点差异显著。下表从变更窗口视角进行横向对比:

对比维度 主从复制 集群模式 分布式数据库
变更窗口切换时间 分钟级(手动选主) 秒级(自动选举) 秒级(Raft 自动切换)
数据一致性风险 异步复制可能丢数据 强一致,无丢失 强一致,无丢失
扩缩容复杂度 低(加从库即可) 中(需全量 State Transfer) 高(分片搬迁 + 路由更新)
变更窗口回滚策略 切换回原主库 节点回退 + 快照恢复 分布式事务回滚 + 分片回退
适用场景 中小规模、读多写少 金融、电商核心交易 海量数据、高并发写入
三种架构故障切换流程对比 主从复制 1. 检测主库故障 2. 人工确认从库延迟 3. 执行 CHANGE MASTER TO 4. 应用修改连接配置 5. 验证读写正常 耗时:3~10 分钟 集群模式 1. 节点心跳超时 2. 多数派发起选举 3. 新主库上线 4. 自动更新路由 5. 业务无感知 耗时:3~10 秒 分布式数据库 1. Raft Leader 心跳超时 2. Follower 发起选举 3. 新 Leader 上任 4. 调度器更新路由表 5. 业务重试后恢复 耗时:5~15 秒 变更窗口选型建议 主从复制适合变更窗口长、可接受分钟级切换的业务(如报表、日志) 集群模式适合核心交易系统,要求秒级切换且数据零丢失 分布式数据库适合海量数据场景,但变更窗口需额外关注分片搬迁和路由更新

2.5 架构选型决策要点

在变更窗口可靠性配置中,选择哪种架构取决于以下三个核心约束:

  • RTO(恢复时间目标): 业务能容忍的最长停机时间。主从复制通常 > 5 分钟,集群和分布式数据库 < 30 秒。
  • RPO(恢复点目标): 允许丢失多少数据。异步主从复制可能丢失秒级数据,集群和分布式数据库可做到零丢失。
  • 运维成熟度: 团队是否具备自动化切换工具和变更窗口演练经验。分布式数据库的运维复杂度最高,建议先通过主从复制积累经验。
实战建议: 在首次变更窗口实施前,至少完成 3 次故障切换演练,并记录每次切换的实际耗时和延迟数据,用于校准 RTO 预期。