Post

高可用解决方案

高可用解决方案

概念

当系统出现故障(机器、网络、服务)时,仍能持续对外提供服务,尽量减少不可用时间。

SLA(Service Level Agreement)服务水平协议:衡量服务可用性指标。

设计原则

  • 冗余:避免单点故障。
  • 故障隔离:机房隔离、线程池隔离。
  • 自动故障转移:系统自动检测故障并切换到备用资源。如 ZK 选主、Redis 哨兵。
  • 降级:当系统压力过大,优先保证核心功能可用,非核心功能暂时不可用。
  • 限流:限制请求数量,避免系统被流量打跨。
  • 熔断:当依赖系统失败率过高时,暂时停止调用依赖系统,快速失败。

架构层次

架构层次高可用方案
接入层负载均衡
应用层无状态服务、多实例、K8s 部署
数据层增加缓存层;mysql主从复制;clickhouse 多副本
This post is licensed under CC BY 4.0 by the author.