Skip to content

高可用架构

高可用(High Availability, HA)指系统在无人工干预下,能长期持续提供服务、避免单点故障导致整体不可用。通常用几个 9(如 99.99%)衡量年度可用时间。核心思路是:消除单点、快速failover、数据不丢。

冗余设计

通过部署多个功能相同的节点,任何一个失效都不影响整体。

  • 多副本(Replication):同一服务部署 ≥2 个实例,流量分摊、互为主备。
  • 主从复制(Master-Slave):主节点写、从节点读并异步/半同步复制;主故障时从节点可提升。常见于 MySQL、Redis。
  • 主主复制(Master-Master):两节点均可读写,双向同步;需解决冲突,适合双活机房。

故障转移

当检测到节点不可用,系统自动把流量/角色切到健康节点。

  • 自动故障检测:心跳、健康检查(如 Nacos/Consul 探活)、超时阈值。
  • 快速切换(Failover):VIP 漂移、DNS 切换、或注册中心摘流,目标 RTO 尽量短。
  • 数据同步:切换前确保新主数据不落后(半同步复制、WAL 同步),避免丢写。

负载均衡

把请求分散到多个节点,提升吞吐并隐藏单点。

  • 硬件负载均衡:F5、A10 等专用设备,性能高、成本高。
  • 软件负载均衡:Nginx、LVS、HAProxy,灵活、易运维。
  • DNS 负载均衡:按地域/轮询解析到不同 IP,粒度粗、生效慢(TTL 限制)。

容灾备份

应对机房级、地域级灾难,保证数据可恢复、业务可重建。

  • 数据备份:全量 + 增量、定期校验可恢复性(3-2-1 原则)。
  • 异地容灾:同城双活 / 异地多活,RPO 决定能容忍丢失多少数据。
  • 灾难恢复(DR):预演切换流程、明确 RTO/RPO 指标,避免"备而不用"。