从0开始学架构
李运华
资深技术专家
立即订阅
38968 人已学习
课程目录
已完结 59 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 照着做,你也能成为架构师!
免费
基础架构 (13讲)
01 | 架构到底是指什么?
02 | 架构设计的历史背景
03 | 架构设计的目的
04 | 复杂度来源:高性能
05 | 复杂度来源:高可用
06 | 复杂度来源:可扩展性
07 | 复杂度来源:低成本、安全、规模
08 | 架构设计三原则
09 | 架构设计原则案例
10 | 架构设计流程:识别复杂度
11 | 架构设计流程:设计备选方案
12 | 架构设计流程:评估和选择备选方案
13 | 架构设计流程:详细方案设计
高性能架构模式 (8讲)
14 | 高性能数据库集群:读写分离
15 | 高性能数据库集群:分库分表
16 | 高性能NoSQL
17 | 高性能缓存架构
18 | 单服务器高性能模式:PPC与TPC
19 | 单服务器高性能模式:Reactor与Proactor
20 | 高性能负载均衡:分类及架构
21 | 高性能负载均衡:算法
高可用架构模式 (10讲)
22 | 想成为架构师,你必须知道CAP理论
23 | 想成为架构师,你必须掌握的CAP细节
24 | FMEA方法,排除架构可用性隐患的利器
25 | 高可用存储架构:双机架构
26 | 高可用存储架构:集群和分区
27 | 如何设计计算高可用架构?
28 | 业务高可用的保障:异地多活架构
29 | 异地多活设计4大技巧
30 | 异地多活设计4步走
31 | 如何应对接口级的故障?
可扩展架构模式 (6讲)
32 | 可扩展架构的基本思想和模式
33 | 传统的可扩展架构模式:分层架构和SOA
34 | 深入理解微服务架构:银弹 or 焦油坑?
35 | 微服务架构最佳实践 - 方法篇
36 | 微服务架构最佳实践 - 基础设施篇
37 | 微内核架构详解
架构实战 (13讲)
38 | 架构师应该如何判断技术演进的方向?
39 | 互联网技术演进的模式
40 | 互联网架构模板:“存储层”技术
41 | 互联网架构模板:“开发层”和“服务层”技术
42 | 互联网架构模板:“网络层”技术
43 | 互联网架构模板:“用户层”和“业务层”技术
44 | 互联网架构模板:“平台”技术
45 | 架构重构内功心法第一式:有的放矢
46 | 架构重构内功心法第二式:合纵连横
47 | 架构重构内功心法第三式:运筹帷幄
48 | 再谈开源项目:如何选择、使用以及二次开发?
49 | 谈谈App架构的演进
50 | 架构实战:架构设计文档模板
特别放送 (7讲)
架构专栏特别放送 | “华仔,放学别走!”第1期
架构专栏特别放送 | “华仔,放学别走!” 第2期
如何高效地学习开源项目 | “华仔,放学别走!” 第3期
架构师成长之路 | “华仔,放学别走!” 第4期
架构师必读书单 | “华仔,放学别走!” 第5期
新书首发 | 《从零开始学架构》
致「从0开始学架构」专栏订阅用户
结束语 (1讲)
结束语 | 坚持,成就你的技术梦想
从0开始学架构
登录|注册

24 | FMEA方法,排除架构可用性隐患的利器

李运华 2018-06-21
我在前面的专栏分析高可用复杂度的时候提出了一个问题:高可用和高性能哪个更复杂,大部分同学都分析出了正确的答案:高可用更复杂一些,主要原因在于异常的场景很多,只要有一个场景遗漏,架构设计就存在可用性隐患,而根据墨菲定律“可能出错的事情最终都会出错”,架构隐患总有一天会导致系统故障。因此,我们在进行架构设计的时候必须全面分析系统的可用性,那么如何才能做到“全面”呢?
我今天介绍的FMEA 方法,就是保证我们做到全面分析的一个非常简单但是非常有效的方法。

FMEA 介绍

FMEA(Failure mode and effects analysis,故障模式与影响分析)又称为失效模式与后果分析、失效模式与效应分析、故障模式与后果分析等,专栏采用“故障模式与影响分析”,因为这个中文翻译更加符合可用性的语境。FMEA 是一种在各行各业都有广泛应用的可用性分析方法,通过对系统范围内潜在的故障模式加以分析,并按照严重程度进行分类,以确定失效对于系统的最终影响。
FMEA 最早是在美国军方开始应用的,20 世纪 40 年代后期,美国空军正式采用了 FMEA。尽管最初是在军事领域建立的方法,但 FMEA 方法现在已广泛应用于各种各样的行业,包括半导体加工、餐饮服务、塑料制造、软件及医疗保健行业。FMEA 之所以能够在这些差异很大的领域都得到应用,根本原因在于 FMEA 是一套分析和思考的方法,而不是某个领域的技能或者工具。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学架构》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(20)

  • 云学
    我们公司也在用这套方法,这套方法其实就是多设计一些异常case,系统能够依然保持稳定,当然正常的case也是很重要的。

    作者回复: 知道这套方法论的公司不多,说明你们公司技术比较厉害👍

    2018-06-21
    22
  • yason li
    请教老师:
    根据网上查到的资料发现,经过多年的演进FMEA从定性和定量两个维度分别延伸出了FMECA和FMEDA,实际进行架构分析时是不是使用FMECA会更好一些?
    还有就是FMEA分析貌似比较适合系统中单点故障的评估。如果系统比较复杂完成故障的原因有可能是多点同时互相影响那么评估时候是不是使用FTA 故障树分析更合适呢?

    作者回复: 1. 我也是看了你的评论才知道还有FMECA和FMEDA,我查了一下资料,其实都是FMEA的扩展版,其实我们在具体实践的时候,分析纬度已经包括FMECA中的危害性分析(文中的“严重程度”),以及FMEDA中的诊断分析(文中的“已有措施”)

    2. FTA我理解是一种故障影响分析方式,例如FMEA中分析“故障影响”

    2018-06-21
    12
  • 小喵喵
    MySQL 主备机,当业务服务器检测到主机无法连接后,自动连接备机,这个是需要这程序来感知主机是否联通的吗?若是,这个怎么写这个程序呢?还有如何自动切换到备机呢?我基础太差了,谢谢老师的每次回答我的问题。

    作者回复: 1. java有jdbc异常,你可以详细看看,其他语言类似
    2. 切换到备机其实就是重新连接备机,jdbc中的getconnection

    2018-07-28
    4
  • 王宁

    HDFS可以从
    网络原因分片传输
    存储分片大小
    DataNode故障
    NameNoe故障
    如果两个NameNode都出现问题这个时候就需要人工介入了吧。

    作者回复: 是的

    2018-07-07
    4
  • 邱昌ོ
    老师,Mysql响应慢超过5秒,是如何做出影响60%的结论? 实际应用中这种如何评估?

    作者回复: 根据业务具体情况评估,不是绝对的

    2018-07-11
    2
  • 王磊
    hdfs
    对于datanode failure, hdfs的应对方式是数据存在多份拷贝,当某个结点down掉后,系统会检测到 under replication, 数据的其他拷贝会在其他可用结点上再增加一份拷贝;
    对于那么node failure,hdfs
    的应对方式是secondary namenide.

    作者回复: 两个namenode挂掉呢?

    2018-06-21
    2
  • Hook
    请教老师:
    FMEA 实战表格中(正文的倒数第二张图),故障原因是 “MySQL 服务器断电” 对应了 2 个功能点,分别为:登录、注册。
    其中,“登录”功能点它的“后续规划”列中写的是“增加备份 MySQL”,而“注册”功能点对应的是“无,因为即使增加备份机器,也无法作为主机写入”。
    我的问题是:
    “注册”功能点对应的后续规划可不可以是:“增加 mysql 主从切换功能”呢?老师写“无”是从什么角度来思考“后续规划”的。

    作者回复: 确实可以这么做,但有些场景没必要做这么复杂,注册不了过段时间注册就可以了😄

    2018-06-21
    2
  • 金蝉子
    FMEA分析表:
    1、功能点;2、故障模式;3、故障影响;4、严重程度;5、故障原因;6、故障概率;7、风险程度;8、已有措施;9、规避措施;10、解决措施;11、后续规划
    2019-05-17
    1
  • 花花大脸猫
    如果一个公司的架构师连公司本身的业务都不清楚的情况下,直接进行架构设计,这样做出来的架构能用么?是不是您所说的PPT架构师?

    作者回复: 不是,PPT架构师一般指业务很熟,画框图很厉害,各种技术术语也很熟,但是技术细节和实现不懂

    2019-04-23
    1
  • 小喵喵
    如何在SQL SERVER中找慢查询语句呢?你说log配置,怎么配?谢谢

    作者回复: 请上网搜索😊

    2018-07-28
    1
  • 王宁
    这个名词虽然不熟悉,不过这几个步骤在风险管理里面很熟悉。
    风险程度=严重程度*故障概率等。
    2018-07-07
    1
  • Geek_88604f
    实战例子中的初始架构还存在如下故障模式:应用服务器故障、缓存和DB中数据不一致、缓存本身可能击穿或血崩都需要自己架构层面考虑。
            改进后的架构又会引入新的问题,主备发生脑裂、倒换时延要求是否满足SLA等架构上的考虑
    2019-09-11
  • godtrue
    第一次听说这个,长见识了,实际工作中也会分析下系统是否高可用,不过没这个系统,主要集中在代码逻辑层面。
    FMEA——故障模式与影响分析。

    作者回复: 很有用的方法

    2019-08-30
  • gkb111
    fnea方法,功能点,故障模式,故障原因,等,影响程度,改进措施等
    2019-02-26
  • 小喵喵
    如何做容错机制呢?
    比如for (int i = 0; i < length; i++)
                {
                    try
                    {

                    }
                    catch (Exception)
                    {
                        
                     
                    }
                }
    这个也算吗?及时程序中一项出现异常,依然会跑完。

    作者回复: FMEA是架构层的容错,不是代码层的错误和异常处理

    2018-10-08
  • MySQL主备,主机挂掉了,连接备机。有这方面的插件,还是在配置里写死?修改配置为备机的漂移IP重启服务。谢谢老师解答,没有做过这方面的东西

    作者回复: MySQL部分有讲呢,一般用中间件,也可以自己开发

    2018-09-19
  • 文竹
    客户端读/写:故障现象为无法读/写成功,故障原因为超过一天的读/写kerberos认证失效,解决措施为在认证token过期前刷新认证token。

    2018-08-22
  • 小喵喵
    FMEA除了分析高可用,也能分析其他架构吗,比如高性能,冗余等架构?

    作者回复: 不能,只适合分析高可用

    2018-07-28
  • 小喵喵
    什么情况下检测告警呢?能举例几个说明一下么?

    作者回复: 简单来说,所有可能故障的地方都要检测和告警

    2018-07-28
  • 小喵喵
    比如我想超过三秒查不出结果就预警给相关的负责人,这个能在log里面配置吗

    作者回复: 肯定可以的😄

    2018-07-28
收起评论
20
返回
顶部