按故障场景、现象、排查步骤、解决方案、预防手段整理覆盖线上 90% 常见问题。分类 1应用服务故障场景 1.1 服务频繁重启、Crash、OOM现象Pod 频繁重建、日志出现OutOfMemoryError、GC 频繁。排查查看 GC 日志、堆 dump 文件分析内存泄漏检查线程池是否无界、大对象、静态集合常驻内存查看接口是否一次性查询全表数据。解决修复内存泄漏、拆分大查询、调整 JVM 参数。预防JVM 堆内存合理配置、接口分页、定时堆快照监控。场景 1.2 接口超时、RT 飙升现象调用链超时、网关报错、客户端请求缓慢。排查SkyWalking/Pinpoint 看全链路定位慢节点DB/Redis/ 下游服务检查 DB 慢 SQL、索引失效、长事务检查 Redis 连接数、热点 Key、大 Key。解决优化 SQL、加索引、拆分长事务、清理 Redis 大 Key。预防慢 SQL 告警、Redis 大 Key 监控、接口超时强制配置。场景 1.3 接口报错、服务雪崩现象大量 5xx 错误、级联调用全部失败。排查查看 Sentinel 熔断状态是否下游服务故障检查线程池是否耗尽、连接池打满解决等待下游恢复、手动触发降级、重启异常节点。预防开启熔断 / 限流 / 线程隔离、禁止同步长链路调用。分类 2缓存Redis故障场景 2.1 Redis 主节点宕机现象应用报 Redis 连接失败。排查查看哨兵 / 集群日志确认主从切换状态。解决哨兵模式会自动切换从库为主库等待 10~30s 恢复若切换失败手动干预。预防哨兵 3 节点部署、跨 AZ、定时巡检节点状态。场景 2.2 缓存穿透 / 击穿 / 雪崩现象DB QPS 暴增、数据库压力过载。解决穿透布隆过滤器、空值缓存击穿互斥锁、热点数据永不过期雪崩过期时间加随机值、服务降级。分类 3数据库MySQL故障场景 3.1 主库宕机现象写入功能全部报错。排查检查 Keepalived/MGR 状态、主从同步延迟。解决自动切换备库为主库手动切换后修复数据同步。预防一主多从、读写分离、跨机房备份、定时 binlog 备份。场景 3.2 数据库锁表、死锁现象接口卡住、事务长时间不提交、慢查询堆积。排查show processlist、查看死锁日志。解决kill 长事务、回滚事务。预防拆分大事务、按固定顺序加锁、避免长连接事务。分类 4消息队列RocketMQ/Kafka故障场景 4.1 消息堆积现象消费进度停滞、队列消息量持续上涨。排查消费线程阻塞、消费逻辑慢、下游依赖故障。解决扩容消费实例、优化消费逻辑、临时分流。预防堆积数量告警、消费超时控制。场景 4.2 消息重复消费现象业务数据重复生成、重复扣款 / 下单。解决启用幂等设计唯一索引 / 分布式 ID。分类 5网关 流量故障场景 5.1 流量突增、被打垮现象网关 CPU / 连接数打满、大量请求失败。解决网关紧急限流、拉黑异常 IP、扩容节点。预防全局限流 接口限流双层防护、流量监控告警。分类 6发布相关故障场景 6.1 发布后服务异常现象新版本实例报错老实例正常。解决立即执行回滚切回旧版本。预防灰度发布、小流量验证、分批滚动发布。补充面试精简版应对面试口述应用层无状态 集群部署配合 Sentinel 做熔断限流降级远程调用加超时、重试、幂等。缓存层Redis 哨兵 / 集群解决主节点单点防护缓存三大问题。数据层MySQL 主从 读写分离定时备份防止数据丢失。解耦层MQ 集群 持久化 死信队列保证消息可靠。运维层K8s 健康探针自动自愈、多可用区容灾、全链路监控 告警。代码层合理线程池、拆分大事务、优化 SQL、避免 OOM。
生产环境高可用故障排查手册
发布时间:2026/5/27 21:53:27
按故障场景、现象、排查步骤、解决方案、预防手段整理覆盖线上 90% 常见问题。分类 1应用服务故障场景 1.1 服务频繁重启、Crash、OOM现象Pod 频繁重建、日志出现OutOfMemoryError、GC 频繁。排查查看 GC 日志、堆 dump 文件分析内存泄漏检查线程池是否无界、大对象、静态集合常驻内存查看接口是否一次性查询全表数据。解决修复内存泄漏、拆分大查询、调整 JVM 参数。预防JVM 堆内存合理配置、接口分页、定时堆快照监控。场景 1.2 接口超时、RT 飙升现象调用链超时、网关报错、客户端请求缓慢。排查SkyWalking/Pinpoint 看全链路定位慢节点DB/Redis/ 下游服务检查 DB 慢 SQL、索引失效、长事务检查 Redis 连接数、热点 Key、大 Key。解决优化 SQL、加索引、拆分长事务、清理 Redis 大 Key。预防慢 SQL 告警、Redis 大 Key 监控、接口超时强制配置。场景 1.3 接口报错、服务雪崩现象大量 5xx 错误、级联调用全部失败。排查查看 Sentinel 熔断状态是否下游服务故障检查线程池是否耗尽、连接池打满解决等待下游恢复、手动触发降级、重启异常节点。预防开启熔断 / 限流 / 线程隔离、禁止同步长链路调用。分类 2缓存Redis故障场景 2.1 Redis 主节点宕机现象应用报 Redis 连接失败。排查查看哨兵 / 集群日志确认主从切换状态。解决哨兵模式会自动切换从库为主库等待 10~30s 恢复若切换失败手动干预。预防哨兵 3 节点部署、跨 AZ、定时巡检节点状态。场景 2.2 缓存穿透 / 击穿 / 雪崩现象DB QPS 暴增、数据库压力过载。解决穿透布隆过滤器、空值缓存击穿互斥锁、热点数据永不过期雪崩过期时间加随机值、服务降级。分类 3数据库MySQL故障场景 3.1 主库宕机现象写入功能全部报错。排查检查 Keepalived/MGR 状态、主从同步延迟。解决自动切换备库为主库手动切换后修复数据同步。预防一主多从、读写分离、跨机房备份、定时 binlog 备份。场景 3.2 数据库锁表、死锁现象接口卡住、事务长时间不提交、慢查询堆积。排查show processlist、查看死锁日志。解决kill 长事务、回滚事务。预防拆分大事务、按固定顺序加锁、避免长连接事务。分类 4消息队列RocketMQ/Kafka故障场景 4.1 消息堆积现象消费进度停滞、队列消息量持续上涨。排查消费线程阻塞、消费逻辑慢、下游依赖故障。解决扩容消费实例、优化消费逻辑、临时分流。预防堆积数量告警、消费超时控制。场景 4.2 消息重复消费现象业务数据重复生成、重复扣款 / 下单。解决启用幂等设计唯一索引 / 分布式 ID。分类 5网关 流量故障场景 5.1 流量突增、被打垮现象网关 CPU / 连接数打满、大量请求失败。解决网关紧急限流、拉黑异常 IP、扩容节点。预防全局限流 接口限流双层防护、流量监控告警。分类 6发布相关故障场景 6.1 发布后服务异常现象新版本实例报错老实例正常。解决立即执行回滚切回旧版本。预防灰度发布、小流量验证、分批滚动发布。补充面试精简版应对面试口述应用层无状态 集群部署配合 Sentinel 做熔断限流降级远程调用加超时、重试、幂等。缓存层Redis 哨兵 / 集群解决主节点单点防护缓存三大问题。数据层MySQL 主从 读写分离定时备份防止数据丢失。解耦层MQ 集群 持久化 死信队列保证消息可靠。运维层K8s 健康探针自动自愈、多可用区容灾、全链路监控 告警。代码层合理线程池、拆分大事务、优化 SQL、避免 OOM。