Skip to content

Latest commit

 

History

History
 
 

README.md

title 高可用系统知识体系:SLA、限流、熔断、降级、重试、幂等、冗余与压测
description 高可用系统面试与架构学习路线,涵盖 SLA、可用性指标、单点故障、冗余容灾、限流、降级、熔断、超时重试、接口幂等、压测和故障演练。
category 高可用
tag
高可用
系统设计
后端面试
sitemap
changefreq priority
weekly
0.95
head
meta
name content
keywords
高可用系统,高可用系统设计,高可用面试题,SLA,可用性指标,限流,熔断,降级,超时重试,接口幂等,冗余设计,容灾,性能测试,故障演练,后端面试

这份 高可用系统知识体系 面向后端学习、系统设计和面试复习,围绕“减少故障、隔离故障、快速恢复、降低重复请求和异常流量影响”整理本站高可用相关文章。

如果你时间有限,建议先看 高可用系统设计面试题总结,快速建立高频问题清单;如果你想系统补基础,可以按下面的阅读顺序推进。

适合谁看

  • 正在系统学习高可用系统设计的后端开发者。
  • 准备校招、社招、中大厂后端面试的同学。
  • 想补齐限流、降级、熔断、重试、幂等、容灾和压测能力的工程师。
  • 已经遇到接口超时、重复请求、下游故障、流量突增、系统雪崩等问题,但缺少系统解法的读者。

学习重点

  • 高可用不是“不出故障”,而是故障发生时尽量可控、可隔离、可恢复。
  • SLA、可用性指标、RTO、RPO 是衡量高可用设计的重要语言。
  • 限流、降级、熔断、超时重试分别解决不同层面的稳定性问题。
  • 幂等设计是应对重复请求、自动重试、消息重复消费和支付回调的基础能力。
  • 冗余容灾、性能压测、故障演练和灰度发布决定系统是否能扛住真实生产风险。

建议阅读顺序

  1. 高可用系统设计面试题总结:先建立 SLA、限流、熔断、重试、幂等、容灾和压测的高频问题清单。
  2. 高可用系统设计详解:系统理解高可用架构的整体设计方法。
  3. 服务限流详解服务降级与熔断详解超时和重试机制详解:掌握稳定性治理三件套。
  4. 接口幂等性设计详解:理解重复请求、业务幂等和支付回调等场景。
  5. 冗余设计详解性能测试入门:补齐容灾、压测、容量评估和故障验证。

核心文章

总览与面试路线

稳定性治理

  • 服务限流详解:理解固定窗口、滑动窗口、令牌桶、漏桶、Sentinel、Redis Lua 和 Redisson 限流。
  • 服务降级与熔断详解:理解 Fallback、降级开关、熔断器状态机、雪崩效应、隔离策略和框架选型。
  • 超时和重试机制详解:理解连接超时、读取超时、指数退避、随机抖动、重试风暴和幂等性。

幂等、容灾与验证

  • 接口幂等性设计详解:讲解幂等键、Token、唯一索引、去重表、乐观锁、悲观锁、分布式锁和支付回调。
  • 冗余设计详解:讲解硬件冗余、服务冗余、数据冗余、地域冗余、同城灾备、异地灾备和多活架构。
  • 性能测试入门:理解 QPS、TPS、RT、P90/P99/P999、容量评估、压力测试、稳定性测试和压测工具。

高频问题

  • 高可用系统如何定义可用性?几个 9 分别意味着什么?
  • RTO 和 RPO 有什么区别?
  • 限流、降级、熔断分别解决什么问题?
  • 令牌桶和漏桶有什么区别?分布式限流如何实现?
  • 超时和重试为什么可能导致雪崩?
  • 接口幂等有哪些实现方案?支付回调如何保证幂等?
  • 冗余、容灾、同城多活、异地多活分别适合什么场景?
  • 性能测试、压力测试、稳定性测试有什么区别?
  • 如何通过故障演练验证高可用设计是否有效?

相关专题