第 5 章 · 系统可靠性、性能与安全设计

📖 系统架构设计师 · 考点精讲(原创整理)约 1260 字🎯 配套练习:架构·可靠性与性能

考点梳理

5.1 可靠性指标(含计算)

指标含义
MTBF平均无故障时间(Mean Time Between Failures)
MTTR平均修复时间(Mean Time To Repair)
可用性 AA = MTBF ÷ (MTBF + MTTR)

例题:某系统 MTBF=1000 小时、MTTR=10 小时 → A=1000÷1010≈99.01%(即年停机约 87 小时)。

记忆锚:可用性=无故障时间 ÷(无故障时间 + 修复时间);想提高可用性,要么延长 MTBF(提高质量/冗余),要么缩短 MTTR(快速检测与恢复)。

5.2 冗余与容错设计

冗余类型说明
硬件冗余双机热备、集群、双电源、RAID
软件冗余多实例部署、N 版本程序设计、恢复块
信息冗余校验码、纠错码、副本
时间冗余重试、超时重发
  • 集群模式:主备(Active-Standby)双活(Active-Active)
  • 关键手段:心跳检测 + 故障转移(Failover)、限流与熔断、降级预案。

5.3 性能设计

  • 指标:响应时间、吞吐量(QPS/TPS)、并发数;三者相互制约(如并发↑ 往往响应时间↑);
  • 优化手段(从易到难):
    1. 缓存(本地缓存/分布式缓存,注意一致性);
    2. 池化(连接池、线程池,降低创建开销);
    3. 异步与批处理(消息队列解耦、合并请求);
    4. 数据库优化(索引、SQL 优化、读写分离、分库分表);
    5. CDN 与静态资源分离负载均衡(四层/七层)。

5.4 安全架构设计

  • 认证与授权分离(认证服务 + 统一授权)、最小权限、多因素认证;
  • 数据安全:传输加密(TLS)、存储加密、脱敏、密钥管理(KMS);
  • 审计与溯源:操作日志、安全审计、异常检测;
  • 合规:等级保护(等保 2.0)、数据安全与个人信息保护要求;
  • 架构层面:网络分区隔离(DMZ)、边界防护(WAF/防火墙)、零信任思路。

🧠 记忆工具箱

口诀速记

  • 可用性公式:MB ÷ (MB + MT)(MTBF 在分子);
  • 冗余四类:硬件、软件、信息、时间
  • 性能优化顺口溜:缓存前置、池化减负、异步削峰、库表分治、静态分离
  • 高可用三件套:冗余 + 检测(心跳)+ 切换(Failover)

例题(带解析)

例题 1:某系统 MTBF=2000 小时、MTTR=20 小时,其可用性约为? A. 99.0% B. 99.01% C. 99.9% D. 90.0% 答案 A。解析:A=2000÷2020≈99.0%(精确为 99.0099%)。注意:选项 B 是另一组数据的结果,需按公式实算。

例题 2:为缩短 MTTR,最有效的架构措施是? A. 增加服务器数量但无监控 B. 建立完善的监控告警与自动故障转移机制 C. 提高代码注释率 D. 延长备份周期 答案 B。解析:MTTR 是"平均修复时间",取决于检测速度与恢复手段:完善监控告警、自动化切换/回滚可显著缩短 MTTR;单纯增加服务器不缩短修复时间。

⚠️ 易错提醒

  • 可用性公式中 MTBF 在分子,别写成 MTTR÷(MTBF+MTTR);
  • 提高可用性有两条路:拉长 MTBF(质量与冗余)或缩短 MTTR(监控与自动恢复)——案例题常要求"分别给出措施";
  • 缓存提升性能但引入一致性风险,答题时最好补一句"设计缓存失效与更新策略";
  • 安全设计不能只答"加防火墙":应覆盖认证、授权、加密、审计、隔离多个层面。