快捷搜索: 王者荣耀 脱发

软件设计质量(一)容错设计

  1. 出现非预期错误的原因
  1. 解决方案
  1. 原理介绍
  1. 断根原理

原理:将可能造成人错误的原因/条件从根本上排除断绝掉。通过冗余设计,屏蔽掉其中9种错误的方式;

案例:USB的SD卡防写开关。4种可能性断根设计为只有1种可能是正确的。

软件设计:分区机制,状态迁移机制,失败重试机制

工程案例:git的三区分离,事务二三阶段提交,接口限流。

  1. 保险原理

原理:需要两个或以上动作都完成才能开始工作。

案例:事务二三阶段提交

  1. 自动原理

原理:以各种光学,电学,力学,机构学、化学原理来限制某些动作的执行或不执行

案例:熔断,限流

  1. 顺序原理

原理:为避免流程顺序发生错误,按照编号排列。

案例:pipeline

  1. 隔离原理

原理:靠分隔不同区域等方式,达到保护某些区域的目的。

案例:测试环境和生产环境物理隔离

  1. 相符原理

原理:通过检查动作的符合性来防止错误的发生

案例:比如支付提交金额与下单金额一致。

  1. 复制原理

原理:同一件工作,如果需要多次发生,采用复制的方式来达成,省时又不会产生错误。

案例:

  1. 层别原理

原理:将不同的作业进行区分。

案例:将不良品挂上“红色”标签。

  1. 警告原理

原理:当存在不正常情况时,告警。

案例:监控告警

  1. 缓冲原理

原理:尽可能减少错误发生后造成 的危害程度。

案例:默认的兜底逻辑和兜底value

出现非预期错误的原因 解决方案 原理介绍 断根原理 原理:将可能造成人错误的原因/条件从根本上排除断绝掉。通过冗余设计,屏蔽掉其中9种错误的方式; 案例:USB的SD卡防写开关。4种可能性断根设计为只有1种可能是正确的。 软件设计:分区机制,状态迁移机制,失败重试机制 工程案例:git的三区分离,事务二三阶段提交,接口限流。 保险原理 原理:需要两个或以上动作都完成才能开始工作。 案例:事务二三阶段提交 自动原理 原理:以各种光学,电学,力学,机构学、化学原理来限制某些动作的执行或不执行 案例:熔断,限流 顺序原理 原理:为避免流程顺序发生错误,按照编号排列。 案例:pipeline 隔离原理 原理:靠分隔不同区域等方式,达到保护某些区域的目的。 案例:测试环境和生产环境物理隔离 相符原理 原理:通过检查动作的符合性来防止错误的发生 案例:比如支付提交金额与下单金额一致。 复制原理 原理:同一件工作,如果需要多次发生,采用复制的方式来达成,省时又不会产生错误。 案例: 层别原理 原理:将不同的作业进行区分。 案例:将不良品挂上“红色”标签。 警告原理 原理:当存在不正常情况时,告警。 案例:监控告警 缓冲原理 原理:尽可能减少错误发生后造成 的危害程度。 案例:默认的兜底逻辑和兜底value
经验分享 程序员 微信小程序 职场和发展