知识卡片

数据可能出错时该选择停止而非将错就错

普通读书笔记卡 · 1460.h

内容

网络设备故障导致DNS解析错乱,两个系统撞上同一个问题却给出不同反应:归档服务连接到错误机器后发现机器名和预期不符,直接判定失败并停止;另一系统则毫不怀疑地采集了错误机器的数据,还据此触发对另一台机器的维护操作——直到技术人员被要求修一块不存在的硬盘,问题才被发现。怀疑拿到的数据可能是错的时,直接停止、报错,比硬着头皮基于可疑数据继续走更安全,这是[[安全关键流量需要绕开可靠性降级策略]]故障开放/关闭权衡的另一体现。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第15章《调查系统》15.1.3节出错时停止(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_121.html`) - 结论依据:原文描述网络设备故障导致DNS解析错误后,归档服务系统检查机器名不匹配即失败停止,另一系统则误采集数据并触发维护操作,直到技术人员被要求修理不存在的硬盘才被发现,并明确"我们更倾向于前者"。 - 原始内容:一个归档服务系统……随后会检查它所连接的机器是否符合预期。由于计算机名称不匹配,因此归档服务作业失败。另一个系统将从错误的机器exa2收集指标信息,随后触发对exa1的维护操作……上述两种响应行为中,我们更倾向于前者。