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