第39章 用户激增,日单破五百
凌晨三点,办公室的灯还亮着。
陈默盯着屏幕右上角的数字——503。不是测试数据,不是模拟峰值,是实打实的日订单量。过去七十二小时里,这个数字从三百飙到四百,再一口气冲破五百大关,像一辆脱档的车,油门踩到底,根本刹不住。
他没动,只是把眼镜推了推,指尖在键盘上敲出一串命令。后台日志哗啦啦滚出来,新增用户来源、下单时段分布、区域热力图……全都在同一个方向倾斜:自发增长。
没有投广告,没有搞补贴,甚至连个朋友圈都没发。可平台就是火了。
许文远靠在工位隔板上啃包子,腮帮子鼓得像仓鼠。“老大,你说咱这算不算躺赢?合规通知一发,用户反而多了?”
陈默没接话,鼠标滚轮往下拉,停在“服务器负载”那一栏。CPU使用率78%,内存占用82%,数据库响应延迟从平均120毫秒涨到480毫秒。系统还在撑,但已经喘得厉害。
“不是躺赢。”他终于开口,“是信任开始兑现了。”
许文远咽下最后一口包子,抹了把嘴:“啥意思?咱们改了个协议,用户就信了?”
“你不信?”陈默转头看他,“你上次点外卖,敢让APP随便读通讯录吗?敢让它偷偷开麦克风听你说话吗?现在我们把‘不准干坏事’写进规则里,还让律师公开盯场,别人一看——哦,这家不一样。”
许文远愣了两秒,忽然笑出声:“懂了,咱们不是卖饭的,是卖安全感的。”
陈默没笑,手指已经在文档里敲下一行标题:《紧急扩容方案V1》。
他知道,真正的考验才刚开始。
---
早上六点十七分,第一波早高峰订单涌入。
骑手端开始报单,商户端陆续上线,用户刷新页面的速度比平时快三倍。系统警报没响,但派单逻辑已经开始卡顿。三个新注册的餐厅同时接到五单以上,算法优先推给最近骑手,结果那人刚送完夜宵正准备收工,电量只剩12%。
“德发算法”第一次显出疲态。
许文远趴在监控屏前,眉头拧成疙瘩:“问题不在接单量,是派单太死板。老王这种星级骑手,系统光看距离近就塞单,根本不考虑续航和疲劳值。”
陈默点头:“当初设计时只考虑效率,没加动态权重。现在人多了,得补课。”
“那咋办?重写核心逻辑?”许文远搓了搓脸,“这可不是改两句代码的事。”
“不重写。”陈默打开另一个窗口,调出过去二十四小时所有完成订单的数据流,“我们用数据喂它,让它自己学会调整。”
他敲了几行指令,把骑手停留时长、车辆速度变化、充电记录、甚至差评率都打包成训练样本,导入调度模型。
“你要搞AI学习?”许文远瞪眼,“这时候练?万一学歪了呢?”
“它不会学歪。”陈默盯着进度条,“因为它学的是真实世界的行为,不是我们的想象。”
七点整,系统自动更新至V2.3版本。新版派单引擎上线,加入了“骑手状态评估模块”。电量低于20%自动降权,连续工作超八小时触发提醒,夜间骑行过快会标记异常。
第一批测试订单发出,反馈几乎实时回传:配送准时率提升6%,骑手投诉下降。
许文远松了口气,端起凉透的咖啡喝了一口,呸地吐出来:“这玩意儿比中药还难喝。”
陈默瞥他一眼:“那你去楼下买杯新的。”
“现在?!”许文远指着屏幕,“系统还在跑模型呢!”
“所以你更得清醒点。”陈默摘下眼镜擦了擦,“接下来每小时订单可能涨一百单,服务器顶得住一时,顶不住一直这么压。”
他站起来,走到白板前写下三行字:
1.今晚必须完成主服务器扩容
2.数据库做读写分离,加缓存层
3.派单算法每天迭代一次,至少持续一周
许文远看着那三行字,突然问:“咱们……是不是该招人了?”
陈默停下笔。
这话戳中了痛点。
目前整个技术团队就五个人,加上临时外包也不过八个。从前做小平台还能靠“摸鱼式开发”,现在用户量翻倍,任何一个小bug都可能演变成大事故。
“招。”他说,“但现在没人来。”
“为啥?”许文远不解,“咱们现在势头不错啊。”
“因为咱们看起来还是个作坊。”陈默冷笑,“没有HR,没有办公流程,连劳动合同都是手写的。稍微正规点的程序员,看到咱们这环境转身就走。”
许文远挠头:“那咋办?总不能现在跑去印名片吧?”
“不用印。”陈默坐回椅子,“我们用结果说话。等系统稳住,日单破千那天,我让你们所有人名字上GitHub热榜。”
许文远眼睛一亮:“你要开源?”
“不开源核心代码。”陈默勾唇,“但我可以把‘德发算法优化过程’做成技术博客连载,标题就叫《一个外卖平台如何让骑手少跑冤枉路》。”
“牛啊!”许文远一拍桌子,“这比什么招聘广告都管用!程序员最爱看这种实战案例!”
陈默没得意,反而神色更沉:“前提是,我们得先活过今天。”
---
中午十一点二十三分,日订单突破五百五十单。
新问题出现:部分商户后台无法上传菜单图片,提示“文件处理超时”。许文远查了一圈,发现是静态资源服务器扛不住并发请求。
“得加CDN。”他汇报,“不然图片加载慢,用户看到一片空白,直接就走了。”
“加。”陈默点头,“找三家服务商对比报价,选性价比最高的。”
“可……预算呢?”许文远小声问。
陈默沉默两秒,打开财务系统,划出一笔款项:“用预留资金,优先保障用户体验。”
“你不心疼?”许文远惊讶,“这可是咱们最后的应急钱。”
“现在就是应急。”陈默盯着屏幕,“用户愿意来,是我们最大的机会。要是因为几张图片打不开把人赶走,那才是真浪费。”
十二点整,CDN接入完成。图片加载速度从平均三秒缩短至八百毫秒。有顾客在评价区留言:“今天点的盖饭,连米饭粒都看得清清楚楚,饿了。”
许文远截图发到内部群,配文:“兄弟们,咱这是在改变世界。”
陈默看了眼消息,没回复,而是打开了云服务控制台。
两台备用服务器正在初始化,预计下午三点完成部署。数据库迁移脚本也已写好,待命执行。他顺手把报警阈值从75%下调到65%,确保能在压力到达临界前收到预警。
一切都在推进。
但他知道,这些只是治标。
真正的瓶颈不在技术,而在结构。一个靠几个人熬夜撑起来的系统,注定走不远。他们需要制度、流程、分工,而不是靠“谁反应快谁顶上”。
手机震动了一下。
是银行发来的到账通知:一笔小额融资款到账,来自某科技孵化基金。金额不大,五十万,备注写着“天使轮首付款”。
陈默盯着那串数字看了很久。
这不是雪中送炭,是有人开始注意到了。
他把消息转发给许文远:“拿这笔钱,先把服务器集群升级做完。另外,联系人事代理公司,下周起正式签劳动合同。”
许文远回了个“收到”,又补了一句:“老大,你说咱们以后会不会也有那种玻璃办公楼?带健身房和零食墙那种?”
陈默没回答。
他只是把白板上的第三条划掉,重新写上:
**建立技术文档体系,所有变更留痕可追溯**
然后拿起笔,在下方画了个框,写上四个字:
**准备下一战**
许文远凑过来一看,忍不住笑:“你还真当这是打仗啊?”
陈默抬头,目光落在窗外渐亮的天色上。
“不是当。”他说,“是本来就是。”

