第 5 章 · 系统可靠性、性能与安全设计
考点梳理
5.1 可靠性指标(含计算)
| 指标 | 含义 |
|---|---|
| MTBF | 平均无故障时间(Mean Time Between Failures) |
| MTTR | 平均修复时间(Mean Time To Repair) |
| 可用性 A | A = 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)、并发数;三者相互制约(如并发↑ 往往响应时间↑);
- 优化手段(从易到难):
- 缓存(本地缓存/分布式缓存,注意一致性);
- 池化(连接池、线程池,降低创建开销);
- 异步与批处理(消息队列解耦、合并请求);
- 数据库优化(索引、SQL 优化、读写分离、分库分表);
- 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(监控与自动恢复)——案例题常要求"分别给出措施";
- 缓存提升性能但引入一致性风险,答题时最好补一句"设计缓存失效与更新策略";
- 安全设计不能只答"加防火墙":应覆盖认证、授权、加密、审计、隔离多个层面。