我当初就是个只会闯祸的愣头青
别看我现在天天教你们怎么做预防,怎么搞定容错,我当年就是个彻头彻尾的“大肆破坏者”。那时候刚进公司,年轻气盛,觉得书本上的那些规矩都是屁话,老油条的经验更是多余。只要代码跑得动,只要项目能上线,那就是我的本事。
我的哲学很简单:先干了再说,出了问题再修。这种做法在处理屁大点事的时候还凑合,但只要项目一复杂,我就开始捅娄子。我最擅长的就是把一个本来能跑的项目,通过我的“优化”或者“部署”,直接干趴下。不是说系统崩溃了,是直接把数据库结构改坏,或者把核心配置文件替换掉,让整个服务彻底瘫痪,连回滚都困难。
我为啥知道这些预防灾难的秘诀?就是因为我亲手制造了一场灾难,这场灾难让我差点丢了饭碗,也彻底改变了我对工作的看法。
那次事故,差点把我送进派出所
事情发生在五年前,当时我们负责一个金融项目的核心数据迁移。我接手部署,觉得这回不过是老一套,没必要搞什么“三级审批”和“压力测试”。我一个人,一个晚上,拍着胸脯说要给它搞定。

我一股脑地把脚本全跑完了,点下确认后,心里还美滋滋地想,效率真高。结果,十分钟后,电话就炸了。不是业务逻辑出错了,是几千万用户的关键数据直接消失了。不是删除,而是因为我配置文件的路径写错,导致数据表结构被错误的脚本初始化了。
当晚,公司高层全来了,凌晨三点,我看着屏幕上空荡荡的数据,手都在抖。损失倒计时是以秒计费的。我记得我当时直接冲到厕所,蹲在地上缓了好久,尿都差点吓出来了。后续的调查和修复,我们整整花了两个月才勉强恢复,光是赔付和公关的费用,就天文数字。
老板没把我开除,但他直接把我雪藏了半年,只让我负责写那些没人愿意干的文档,让我天天对着事故报告看,看我的疏忽造成了多大的破坏。那半年,我彻底明白了,所谓的牛逼,不是你救火多快,而是你根本不让火烧起来。
老司机教你:我怎么把预防变成反射动作的?
从那以后,我给自己立了规矩,我把所有可能导致“大肆破坏”的行为,全部系统化了。这些规矩,我现在叫它“事前防爆手册”。
第一招:永远不要相信你的记忆( checklist 战术)
- 我强制自己写部署前的核对清单。清单上必须写清楚,每一步操作的目标、预期结果、回滚步骤,甚至精确到哪一行代码。
- 操作前,我要求所有配置信息打印出来,用红笔在关键路径、关键参数上画圈。手写的东西,比屏幕上扫一眼更让人警醒。
第二招:学会当个“小气鬼”(分步释放原则)
- 以前我喜欢一步到位,现在我切割项目风险。任何可能影响全局的改动,我都会先用最小的流量去尝试。
- 我设置了多层隔离区,就像建水库一样,每一步都得有个闸门。如果第一层小水池崩了,至少不会淹掉整个村子。
第三招:把检查权让给外人(双重确认机制)
- 这是最难的一步。以前我什么都自己干,现在我必须让至少一位同事看过我的核对清单和操作计划,让他们签字确认。
- 这样做的目的不是为了出事了有人一起背锅,而是因为旁观者清。一个冷静的人,很容易发现你因为惯性或疲劳漏掉的那个关键步骤。
你得明白,避免大肆破坏的秘诀,不在于你多有天赋,而在于你有多敬畏风险。你只有被真正狠狠地教训过一次,才会把这些看起来“多余”的预防步骤,刻进自己的骨头里,变成不用思考就能执行的反射动作。
