高可用系统知识体系:SLA、限流、熔断、降级、重试、幂等、冗余与压测
约 1276 字大约 4 分钟

这份 高可用系统知识体系 面向后端学习、系统设计和面试复习,围绕“减少故障、隔离故障、快速恢复、降低重复请求和异常流量影响”整理本站高可用相关文章。
如果你时间有限,建议先看 高可用系统设计面试题总结,快速建立高频问题清单;如果你想系统补基础,可以按下面的阅读顺序推进。
适合谁看
- 正在系统学习高可用系统设计的后端开发者。
- 准备校招、社招、中大厂后端面试的同学。
- 想补齐限流、降级、熔断、重试、幂等、容灾和压测能力的工程师。
- 已经遇到接口超时、重复请求、下游故障、流量突增、系统雪崩等问题,但缺少系统解法的读者。
学习重点
- 高可用不是“不出故障”,而是故障发生时尽量可控、可隔离、可恢复。
- SLA、可用性指标、RTO、RPO 是衡量高可用设计的重要语言。
- 限流、降级、熔断、超时重试分别解决不同层面的稳定性问题。
- 幂等设计是应对重复请求、自动重试、消息重复消费和支付回调的基础能力。
- 冗余容灾、性能压测、故障演练和灰度发布决定系统是否能扛住真实生产风险。
建议阅读顺序
- 高可用系统设计面试题总结:先建立 SLA、限流、熔断、重试、幂等、容灾和压测的高频问题清单。
- 高可用系统设计详解:系统理解高可用架构的整体设计方法。
- 服务限流详解、服务降级与熔断详解、超时和重试机制详解:掌握稳定性治理三件套。
- 接口幂等性设计详解:理解重复请求、业务幂等和支付回调等场景。
- 冗余设计详解 和 性能测试入门:补齐容灾、压测、容量评估和故障验证。
核心文章
总览与面试路线
- 高可用系统设计面试题总结:串联 SLA、单点故障、限流降级熔断、超时重试、接口幂等、冗余容灾和性能压测。
- 高可用系统设计详解:讲解 SLA、多少个 9、单点故障治理、缓存高可用、异步削峰、灰度发布和故障恢复。
- 2026 最新高可用系统设计面试题总结:覆盖高可用系统设计的高频问答和复习重点。
稳定性治理
- 服务限流详解:理解固定窗口、滑动窗口、令牌桶、漏桶、Sentinel、Redis Lua 和 Redisson 限流。
- 服务降级与熔断详解:理解 Fallback、降级开关、熔断器状态机、雪崩效应、隔离策略和框架选型。
- 超时和重试机制详解:理解连接超时、读取超时、指数退避、随机抖动、重试风暴和幂等性。
幂等、容灾与验证
- 接口幂等性设计详解:讲解幂等键、Token、唯一索引、去重表、乐观锁、悲观锁、分布式锁和支付回调。
- 冗余设计详解:讲解硬件冗余、服务冗余、数据冗余、地域冗余、同城灾备、异地灾备和多活架构。
- 性能测试入门:理解 QPS、TPS、RT、P90/P99/P999、容量评估、压力测试、稳定性测试和压测工具。
高频问题
- 高可用系统如何定义可用性?几个 9 分别意味着什么?
- RTO 和 RPO 有什么区别?
- 限流、降级、熔断分别解决什么问题?
- 令牌桶和漏桶有什么区别?分布式限流如何实现?
- 超时和重试为什么可能导致雪崩?
- 接口幂等有哪些实现方案?支付回调如何保证幂等?
- 冗余、容灾、同城多活、异地多活分别适合什么场景?
- 性能测试、压力测试、稳定性测试有什么区别?
- 如何通过故障演练验证高可用设计是否有效?
相关专题
写在最后
如果内容对你有帮助的话,欢迎顺手给 JavaGuide 点一个免费的 Star 支持一下:GitHub | Gitee。
JavaGuide 已持续维护近七年,累计 6100+ 次提交,来自 620+ 位贡献者共同完善。你的 Star、反馈和 PR,都是这个项目继续更新的动力。
如果你正在准备后端/AI 应用开发面试,也可以了解一下我的知识星球,里面包括后端和 AI 实战项目、简历优化、一对一提问和高频考点资料,已经持续维护六年。
