老张选的川菜馆藏在一个胡同里,油腻的玻璃门上贴着"移动付款享9折"的褪色海报。林克推开吱呀作响的弹簧门,看见老张正用筷子尖在布满划痕的木桌上画着什么——那是他们三年前排查缓存穿透问题时留下的Redis架构草图。
"麻婆豆腐不要勾芡!"两人异口同声对服务员喊出这句暗语,相视一笑。这是2015年双十一压测时的教训——当时后台返回的数据流太粘稠,把移动端的JSON解析器噎死了。
老张从帆布包里摸出个U盘推过来:"这是咱们联调七年的故障日志精选集。“金属外壳上歪歪扭扭刻着"2010-2017”,边缘还沾着当年修服务器时蹭的硅脂。林克注意到他手机屏保还是那张著名的程序员梗图:Java咖啡杯与Android小绿人击掌。
"还记得那次定位漂移吗?"老张用筷子戳破水煮鱼的辣椒,“你们移动端非说我们坐标系转换有问题…”
"最后不还是你写的WGS84转GCJ02漏了参数?"林克晃着燕京啤酒瓶,泡沫溅到桌角的"NullPointerException"刻痕上——那是他2013年调试空指针时留下的。
酒过三巡,老张的手机突然震动,屏幕亮起微信消息:"Belinda:订单系统重构方案已发您邮箱。"他的嘴角抽了抽:“现在的小姑娘倒厉害,去年连MyBatis逆向工程都能搞出NPE的人,如今倒指挥起架构改造了。”
林克捏扁了啤酒罐:“她重构的分布式锁比你的DUBBO方案吞吐量高两倍!”
"不就是把Java换成Go?"老张的华为手机"啪"地拍在桌上,震翻了酸辣汤,“知道为什么新系统没事务回滚吗?因为根本他妈没考虑分布式一致性!”
油渍在故障日志U盘上蔓延,像极了2014年那场内存泄漏事故的监控曲线。林克抓起帆布包里的《Java编程思想》——书页间还夹着当年老张手写的线程池调优公式——"哗啦"一声,泛黄的便签纸雪花般飘落。
“你根本不懂!“老张的筷子戳穿酸菜鱼盆,“她所谓的高性能方案…”
林克的一加手机突然响起刺耳的默认铃声,那是他特意设置的"系统崩溃警报音”。屏幕上跳动着2015年的旧照:两人在机房通宵修服务器时拍的合影,机柜玻璃映出他们用马克笔写的"Hello World”。
老板娘端着新菜过来打圆场:"送你们的夫妻肺片,当年你俩在这改BUG时最爱点的…"老张突然起身,帆布包带翻了酱油瓶子。暗黑色的液体在《Java编程思想》封面上晕开,恰如他们第一次联调失败时满屏的ERROR日志。
2019年某个加班的深夜,林克看那本在二手书网站买的《Java并发编程实战》。翻开第213页,泛黄的便签纸上是他熟悉的字迹:"To Belinda:线程池参数应该这样调…"书页间掉落一张川菜馆收据,背面用圆珠笔画着两个火柴人——一个顶着Android机器人脑袋,一个戴着Java咖啡杯帽子,中间是用辣椒油画的握手。
窗外飘起细雨,林克在搜索框输入老张的QQ号。那只戴着红围巾的企鹅头像永远灰了,空间最后一条动态停留在2017年6月15日:"有些人永远不懂,有些代码不该重构。"配图是半盘凝固了红油的夫妻肺片。