作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。
软件可靠性设计是确保软件系统可靠运行的一系列技术和措施。主要包括避错技术、降低复杂度设计、检错设计(出错告警)和容错设计。下面是这些概念的简要介绍:
下表总结了上述概念及其对应的策略或实例:
类型 | 策略/实例 | 描述 |
---|---|---|
避错技术 | 类型安全编程 | 使用类型安全的语言减少类型错误 |
降低复杂度设计 | 模块化设计 | 通过模块化设计清晰定义各部分功能,简化系统结构 |
检错设计 | 断言、日志记录 | 在关键位置添加断言,记录运行时信息,便于出错时发出告警 |
容错设计 | N版本程序设计、恢复块设计、防卫编程 | 分别通过多版本比较、状态回退和预设错误处理流程保证错误发生时系统仍能继续运行 |
冗余 | 结构冗余、信息冗余、时间冗余 | 分别通过额外的组件、信息和操作次数提高系统的可靠性 |