2684亿这个数字在屏幕上炸开的时候,我正盯着服务器监控图上一根快要戳破天花板的CPU曲线。团队里的小孩们在欢呼,说今年又破了纪录。我喉咙发干,脑子里算的不是GMV,是这峰值过后,我们要手动重启多少台服务器,要处理多少因为超时导致的脏数据,以及,明天还有多少客户会打电话来骂“为什么我的订单状态卡住了”。
这就是2020年的双11,我的第三个双11。团队从我一个人变成了十二个人,办公室从家里客厅搬到了写字楼。听起来一切都在向上走,对吧?但只有我知道,我们掉进了一个叫“规模”的陷阱。为了接住这2684亿洪流里的一小瓢水,我们过去三个月重构了订单处理系统。不是那种优雅的重构,是救火式的。把原来的单体PHP拆了,硬生生怼上消息队列,用Redis做缓存扛住查询。每一行代码都写着“快他妈给我顶住”。
自愈逻辑?我们确实加了。监控到某个接口95%响应时间超过2秒,就自动扩容一台云主机;数据库连接池耗尽,自动重启服务。但这些都是创可贴。真正的伤口在于,这套系统像一头需要不断喂食的野兽。它越庞大,我们就被绑得越死。我成了全天候的兽医,而不是驯兽师。凌晨三点报警短信响起的时候,那种心脏骤停的感觉,比2016年一个人写爬虫被反爬封IP时还要绝望。那时候的焦虑是技术上的,解一道题;现在的焦虑是系统性的,无底洞。
团队里最能打的两个程序员,上个月和我提了离职。一个说太累了,想去外企养老;另一个更直接,说在这里学不到新东西,天天就是修BUG、扛流量。我没办法反驳。我自己都感觉技术视野在萎缩,每天睁开眼就是KPI、交付进度、客户投诉。2016年我还会为爬虫突破了某网站的异步加载而兴奋半天,现在看到任何新技术,第一反应是“这玩意能帮我稳住今晚的峰值吗?”不能?那就滚蛋。
双十一的2684亿烟花散去后,仓库里会剩下无数退换货的包裹。而我们呢?我们剩下的是一个更复杂、更脆弱、更需要人肉维护的系统,和一群身心俱疲的人。我有个莫名的预感,像远处传来的闷雷。我觉得我们这群人,吭哧吭哧地造这些精密又笨重的“自动化”系统,很快会被一种更根本的东西颠覆。不是更好的消息队列,不是更快的数据库。是一种……像空气一样弥漫开的能力,它可能让今天这些让我们掉光头发的技术难题,变得像按开关一样简单。我不知道那具体是什么,但它快来了。而我,正带着我的团队,在一条越挖越深的隧道里,背对着那个即将到来的黎明。
今晚的峰值总算过去了。我关掉监控屏幕,办公室里只剩下服务器风扇的嗡嗡声。2684亿,这个数字不属于我们。我们属于屏幕后面,那无数个等待被处理、被修复、被安抚的“异常状态”。明天太阳升起,这一切还会继续。只是,我心底那个关于“另一种可能”的预感,越来越清晰,也越来越让我不安。














