高可用核心目标:故障自动转移、多活冗余、服务自愈、故障快速隔离,下面按集群故障转移、负载均衡、服务容错自愈、数据高可用、监控故障告警、云原生 HA六大场景分工具,覆盖传统物理机、虚拟机、容器 K8s 全架构。
一、集群资源故障转移(底层服务器 / 虚拟机 HA)
解决:服务器宕机、网卡故障、虚拟 IP 自动漂移,业务秒级切换备机
Pacemaker + Corosync(Linux 标准 HA 套件)
适用:物理机、VM 虚拟机、传统业务(Java、数据库中间件)
能力:虚拟 IP 漂移、资源启停管控、多节点仲裁、故障自动隔离;支持 NFS、MySQL、Apache 等资源托管
场景:传统政企、自建机房数据库 / 中间件主备集群
Keepalived
底层:VRRP 协议,轻量级虚拟 IP 漂移工具
优势:部署极简、资源占用极低,搭配 Nginx/LVS 做四层高可用
典型架构:Nginx 主备、MySQL 主从 VIP 切换
Windows Server Failover Cluster(WSFC)
适用:Windows 系业务(SQL Server、.NET、IIS)
能力:共享存储集群、虚拟机故障转移、仲裁磁盘 / 文件共享仲裁
二、负载均衡(流量分发 + 接入层高可用)
解决:单接入节点单点故障,多实例流量分担,支持故障节点自动下线
四层负载均衡(传输层,TCP/UDP)
LVS(Linux Virtual Server)
内核级四层负载,性能极高,百万并发无压力;常配合 Keepalived 实现 LVS 主备
HAProxy
四层 + 七层全能,轻量高性能,支持 TCP、MySQL、Redis、HTTP;自带健康检查、权重调度、会话保持
七层负载均衡(应用层,HTTP/HTTPS/gRPC)
Nginx / Nginx Plus
行业最通用反向代理,健康探测、限流、熔断、灰度发布;搭配 Keepalived 消除 Nginx 单点
Apache Traffic Server
高性能缓存负载均衡,适合大规模静态资源、CDN 节点高可用
Traefik(云原生专用)
容器友好,自动发现 K8s/Docker 服务,无需静态配置;内置健康检查、自动故障剔除
三、服务容错与自愈(微服务业务层高可用)
针对分布式微服务,解决接口超时、下游服务宕机、雪崩故障
Sentinel(阿里开源,国内首选)
能力:流量熔断降级、服务限流、热点参数限流、系统自适应保护;故障服务自动熔断,避免雪崩,保障核心业务可用
Resilience4j(Java 轻量容错框架)
替代 Hystrix,无依赖,提供熔断、重试、超时、舱壁隔离;适配 SpringBoot 微服务
Istio / Linkerd(服务网格 Service Mesh)
云原生微服务 HA 基础设施,无需修改业务代码;自动服务健康检测、故障重试、熔断、流量故障转移、灰度切流
四、数据层高可用工具(数据库、缓存、存储 HA)
数据丢失是最严重不可用场景,分缓存、关系库、分布式存储
缓存高可用
Redis Sentinel(哨兵)
Redis 官方主从故障自动切换,监控主节点宕机,自动选举新主,配套 VIP(Keepalived)实现透明切换
Redis Cluster
Redis 分片集群,多主多从,单节点故障不影响整体集群读写
关系型数据库
MySQL MGR(MySQL 组复制)
MySQL 官方多节点强一致集群,支持单主 / 多主,故障自动选主,数据零丢失
MariaDB Galera Cluster
多节点同步复制集群,所有节点可读写,节点故障自动剔除
PgBouncer + Patroni(PostgreSQL 高可用)
Patroni 管控 PG 主从自动切换,结合 etcd 存储集群元数据;PgBouncer 做连接池实现接入层高可用
分布式存储(文件 / 对象存储 HA)
MinIO(分布式对象存储)
多节点多磁盘冗余,支持纠删码,任意节点 / 硬盘损坏不丢数据;集群故障自动修复
Ceph
统一分布式存储(块 / 文件 / 对象),多副本机制,故障数据自动迁移至健康节点
GlusterFS
横向扩展文件集群,多副本,节点故障业务无感知
五、分布式协调 / 集群元数据(保障分布式系统一致性、选主)
几乎所有分布式 HA 组件底层依赖,存储集群状态、提供分布式锁、领导者选举
etcd
K8s 原生依赖,强一致性,用于 Patroni、Istio、K8s 集群主节点选主、服务注册发现
ZooKeeper
经典分布式协调工具,大数据生态标配;用于 Hadoop、Kafka、Redis Sentinel、微服务注册中心,实现分布式锁、故障节点监控、主从选举
Consul
服务注册发现 + 分布式协调一体化,自带健康检查、多数据中心,适配虚拟机 + 容器混合架构
六、监控、故障告警、自动自愈工具(提前发现故障,自动修复)
高可用离不开故障快速感知,实现故障预警、自动重启、自动隔离
Prometheus + Grafana + AlertManager
行业标准监控栈:采集服务器、中间件、数据库指标;配置告警规则,节点 / 服务异常推送短信 / 钉钉 / 邮件;配合自愈脚本实现故障自动处理
Nagios / Zabbix
传统机房运维监控,支持海量硬件、服务存活探测,自定义故障触发器,可联动脚本自动切换集群资源
Kubernetes 内置自愈组件
kubelet:容器异常自动重启;控制器 Deployment/StatefulSet:节点宕机自动调度 Pod 至健康节点;PodDisruptionBudget:保障业务最小可用实例数
七、云原生专属高可用整套方案(K8s 场景)
Kubernetes(K8s)
容器编排底层 HA 底座:多 Master 节点 + etcd 集群实现控制面高可用;节点故障自动迁移业务 Pod;支持多可用区部署,机房断电不中断业务
Argo Rollouts / Flagger
灰度、金丝雀发布工具,新版本故障自动回滚,保障业务迭代过程高可用
云厂商负载均衡(阿里云 SLB、AWS ELB)
厂商托管四层 / 七层 LB,多可用区冗余,底层硬件故障无感知,无需自建 Keepalived
场景快速选型参考
传统单机 / 物理机业务主备:Keepalived + Pacemaker/Corosync
Web 接入层高可用:Nginx/HAProxy + Keepalived
Java 微服务容错防雪崩:Sentinel
容器 K8s 微服务网格:Istio
MySQL 高可用:MGR / Patroni+etcd
Redis 高可用:Redis Sentinel / Redis Cluster
分布式协调选主:etcd(K8s)、ZooKeeper(大数据)
统一监控告警自愈:Prometheus+Grafana
对象存储高可用:MinIO
云原生整套 HA:K8s + Traefik + Istio + Prometheus