知识卡片

"快速失败、大声失败":把所有校验步骤堆在流程最前端,而不是等出错时才发现

专业/工作

内容

渲染引擎从任务队列取出一个渲染任务后,不会直接开始渲染,而是先检查这个任务需要的所有资源(字体、背景图、alpha遮罩)是否真的存在——16个渲染步骤里,前5步全部是验证,只要缺任何一样就立即终止并上报错误,而不是渲染到一半才因为缺东西而失败。这背后的哲学是:在一条不能停摆的生产线上,最坏的失败方式不是”失败”本身,而是”很晚才失败”——上线几个月后出现的一个真实案例,恰恰是因为忘记为已渲染图像预订磁盘空间,导致某次存储卷写满时渲染任务在流程很靠后的位置才报错,造成了返工。这提示一个实用的自检问题:一个可能失败的操作,它的失败检测点被放在了流程的哪个位置——越靠前,代价越小。

参考来源

《架构之美》第4章《记忆留存》