第75篇
极客时间《从0开始学架构》课程笔记。
FMEA是什么?
- FMEA(Failure mode and effects analysis):故障模式与影响分析
- 一种全面、简单、有效的可用性分析和思考方法
- 对系统范围内潜在故障模式进行分析
- 按照严重程度进行分类
- 确定失效对于系统的最终影响
在软件架构设计领域,FMEA不是用来指导如何做架构设计的,而是完成架构设计后对此进行分析,看架构是否存在可用性隐患的分析方法。
FMEA分析方法
在架构设计领域的FMEA具体分析方法分四步:
1、给出初始的架构设计图。
2、假设架构中某个部件发生故障。
3、分析此故障对系统功能造成的影响。
4、根据分析结果,判断架构是否需要进行优化。
FMEA分析表
常见的FMEA分析表格包含以下11部分
1、功能点
- 从用户角度列出功能点,不是模块功能点
- 偏于界面可见的功能点,不是数据库存储、缓存
2、故障模式
- 描述故障什么样子,包括故障点和故障形式
- 只需假设故障现象,不需要给出故障原因,因为故障现象相同,对功能点的影响就相同
- 描述尽量精确,多使用量化描述,避免使用『慢』『有问题』等泛化描述
3、故障影响
- 描述出现故障时,功能点具体受到影响如何
- 准确描述故障影响,尽量使用量化描述,但不需精确
4、严重程度
- 站在业务角度描述故障的影响程度,一般分为“致命 / 高 / 中 / 低 / 无”五个档次
- 严重程度评估公式:严重程度 = 功能点重要程度 × 故障影响范围 × 功能点受损程度
- 故障影响所属档次有争议时不争论,相关人员讨论确定或者架构师裁定
5、故障原因
- 不同故障原因发生概率不相同、检测手段不一样、处理措施不一样
6、故障概率
- 评估某个具体故障原因发生的概率
- 一般分高、中、低三档
- 重点关注硬件、开源系统、自研系统
7、风险程度
- 综合严重程度和故障概率来一起判断某个故障的最终等级
- 风险程度 = 严重程度 × 故障概率
- 同样的故障影响,不同的故障原因有不同的概率,最终得到的风险级别不同
8、已有措施
- 针对具体的故障原因,系统现在是否提供了某些措施来应对
- 一般措施包括三类:检测告警、容错、自恢复
9、规避措施
- 通过技术或管理手段降低故障发生概率
- 技术手段如冗余备份,管理手段如定期强制换新磁盘等
10、解决措施
- 通过技术手段最终解决问题的方法
- 优先选择解决措施,无法解决的问题采取规避措施
11、后续规划
- 根据分析结果,结合风险程度进行排序
- 提出后续的改进规划,优先解决高风险的系统隐患