蔚来发布首款轿车 ET7,固态电池是不是噱头跟我关系不大,我他妈自己快成“固态”了——累得凝固在椅子上。今天凌晨三点,客户数据同步系统崩了,不是API超时那种小打小闹,是整个ETL管道从Kafka到MySQL的链路全断,客户在后台看到的全是上个月的数据。
手机被打爆,微信炸了。我一边用个人手机接客户电话,嘴上说着“十分钟内恢复”,一边用工作手机在只有三个人的技术群里吼“查日志,现在!”,同时还得用电脑SSH连服务器。没有运维,开发小弟刚入职两个月,这种涉及消息队列积压和数据一致性回滚的脏活他根本不敢碰。我只能自己上。先停掉消费者组,检查Kafka的topic偏移量,发现有个消费者线程卡死,导致分区堵塞。这还不是最糟的,MySQL从库同步延迟已经超过半小时,主从数据对不上。
我让开发小弟去安抚客户,说系统维护。自己开始手动补数据。写临时Python脚本,从Kafka积压的消息里重新消费,还得考虑去重和事务。中间有个字段映射错了,导进去的数据全是乱的,又得回滚重来。脑子里同时跑着三件事:客服话术(“马上好,正在紧急扩容”)、技术路径(是用canal重做增量还是直接全量灌?)、以及身体警报(心脏跳得跟服务器风扇一样响)。
从凌晨三点干到早上九点,系统勉强跑通,数据追平。我瘫在椅子上,连订早餐的力气都没。开发小弟给我买了杯豆浆,手都是抖的。这他妈就是2020年,我31岁,有个小团队,但关键时刻能顶上去的只有自己。赚的那点流水,全填在人力成本和这种突发性救火里了。自由?管理?都是狗屁。你只是在用一个人的时间,换三个人的工资单,最后把自己榨干。
这次故障给我最大的教训不是技术,而是流程的脆弱。所有关键节点没有自动化告警,没有熔断机制,更没有一键回滚的脚本。故障发生时,我像个原始人一样在多个终端和界面之间手工操作。如果当时有一个监控面板能图形化显示数据流阻塞点,如果有一个预案脚本能自动暂停同步并触发告警,我至少能省下两小时,也不至于让客户电话直接打到我手机上。
所以看到蔚来宣传什么固态电池、自动驾驶,我一点不兴奋。我只关心我的“系统”什么时候能装上“固态”的自动化预案。超级个体?个体是真他妈超级累。但要想不被累死,就必须把重复性、应激性的劳动封装成工具,哪怕是简陋的shell脚本,也比用人脑和手速去扛要强。下一步,死磕n8n或者自己用Python把运维监控和应急响应串起来,不能再让一次Kafka挂掉就让我一夜回到解放前。团队救不了你,能救你的只有你提前写好的自动化脚本。














