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