FMEA(Failure mode and effects analysis)

Term

FEMA:故障模式与影响分析,一种在各行各业都有广泛应用的可用性分析方法,通过对系统范围内潜在的故障模式加以分析,并按照严重程度进行分类,以确定失效对于系统的最终影响。它是一套分析和思考的方法,而不是某个领域的技能或工具。

应用于架构领域

FMEA分析方法:

  • 给出初始的架构设计图
  • 假设架构中某个部件发生故障
  • 分析次故障对系统功能造成的影响
  • 根据分析结果,判断架构是否需要进行优化

FMEA分析方法,其实是一个分析表,表格包含部分

  • 功能点:从用户的角度来看的功能点。比如用户管理系统,FEMA分析的是”登录“,”注册“功能点。
  • 故障模式:系统会出现什么样的故障,包括故障点和故障形式。故障模式描述尽量精确,多用量化描述,避免使用泛华的描述。
  • 故障影响:当发生故障模式中描述的故障时,功能点具体会受到什么影响。常见的影响:功能点偶尔不可用、功能点完全不可用、部分用户功能点不可用、功能点响应缓慢、功能点出错等等
  • 严重程度:站在业务的角度看,故障影响程度一般分为:致命、高、中、低、无。严重程度 = 功能点重要程度 故障影响范围 功能点受损程度
  • 故障原因
  • 故障概率:某个具体故障原因发生的概率。一般分为:高、中、低。
  • 风险程度:综合严重程度和故障概率一起判断某个故障的最终等级,风险程度 = 严重程度 * 故障概率。
  • 已有措施:针对具体的故障原因,系统现在是否提供了某些措施来应对,包括检测告警、容错、自恢复等等。
  • 规避措施:为了降低故障发生概率而做的一些事情,可以是技术手段,也可以是管理手段。
    • 为了避免新引入的MongoDB丢失数据,在MySQL中冗余一份
    • 为了降低某些疑难bug的出现,每天凌晨重启机器
  • 解决措施:为了能够解决问题而做的一些事情,一般都是技术手段。
    • 为了解决密码暴力破解,增加密码重试次数限制
    • 为了解决拖库导致密码泄露,将数据库中的敏感数据加密保存
  • 后续规划