地铁车厢空荡荡的。陈默靠着门边的立柱,玻璃映出他模糊的影子。列车钻进隧道,噪音猛地灌进来,像潮水。
他在下一站换乘。通道很长,白炽灯管间隔着亮,投下断断续续的光。
走出地铁站时,已经晚上九点半。风比刚才大了些,吹得路边广告牌哗啦响。
办公室还亮着灯。从楼下看,那扇窗户是整层楼唯一的光源。
陈默推门进去。暖气开得足,空气有点闷。
会议室里挤着人。白板上画满潦草的架构图,红蓝记号笔的痕迹叠在一起。
王涛背对门站着,手里捏着擦了一半的白板擦。他脖子梗着,后颈的肌肉绷紧。
“不行就是不行。”张猛坐在会议桌对面,胳膊抱在胸前,“你那方案太激进,工期根本不够。”
“保守就能按时了?”王涛转身,白板擦在手里攥得死紧,“现在这版架构,三个月后就得重构!”
李薇低着头,手指在笔记本键盘上快速敲打。键盘声噼里啪啦,盖住了空调送风的声音。
孙姐坐在角落,面前摊着财务报表。她手里的圆珠笔一下下点着纸面,留下密密麻麻的小蓝点。
陈默把背包放在门口椅子上。拉链声很轻,但所有人都转过头。
“陈哥。”王涛先开口,声音有点急,“你回来得正好。”
张猛松开胳膊,身体向后靠进椅背。椅子腿摩擦地板,发出短促的吱呀声。
陈默走过去。桌上摊着三份打印方案,每份都用荧光笔划了重点,空白处写满批注。
“吵多久了?”他问。
“半小时。”李薇终于抬头,推了推眼镜,“从你走后就开始了。”
陈默拿起最上面那份。是王涛的方案,标题写着“全异步流水线架构”。
纸页边缘卷着,被人反复翻过。
“说说。”陈默没看王涛,目光落在方案第一页的数据预估上。
王涛往前跨了一步。“现在定的同步调用链,单次请求要过六个模块。每个模块等上个模块的结果,链条太长,随便一个环节慢了整体就崩。”
他抓起白板笔,在已有的图上画了一条新线。笔尖戳得白板咔咔响。
“改成异步队列。”王涛说,“请求进来先丢进消息队列,各模块并行处理,谁好了谁取。响应速度能提三倍,后期扩容也方便。”
张猛哼了一声。“队列本身不要维护?消息积压了怎么办?数据一致性你怎么保证?”
“可以加监控和重试机制。”王涛语速很快,“我算过,整体复杂度增加有限。”
“你算的是理想情况。”张猛站起来,他个子高,影子投在方案纸上,“线上环境网络抖动、机器故障、依赖服务超时,这些你模拟了?”
王涛脸涨红了。“那保守方案就能避免这些?”
“保守方案至少可控。”张猛手指敲着桌子,“每个环节出错,立刻能定位。你那个队列方案,一个消息卡住,可能隔了几个小时才发现数据对不上。”
李薇又敲了几下键盘。她把屏幕转过来,上面是两张对比图。
“我跑了个简单模型。”她说,“异步方案在请求量平稳时,延迟确实低。但一旦出现尖峰……”
她点了下鼠标。第二张图展开,曲线在某个点突然飙升。
“队列会迅速积压。”李薇说,“处理速度跟不上入队速度,延迟直接爆炸。”
王涛盯着屏幕,嘴唇抿成一条直线。他手里的白板擦掉下些粉笔灰,落在鞋面上。
陈默翻到方案最后一页。风险评估那一栏,王涛写了“可控”,但字迹很轻,像是不确定。
“沈总呢?”孙姐忽然问。
“在路上了。”陈默看了眼手机,“刚给她发了消息,说远程接入。”
话音刚落,会议桌上的笔记本电脑响了。是视频通话请求。
陈默走过去点下接受。屏幕亮起,沈清澜的脸出现在窗口里。背景是家里书房,书架塞得满满当当。
她头发扎着,额前有几缕碎发散下来。脸色有点疲惫,但眼睛很亮。
“我听到一些。”她说,声音透过音箱传出来,带着轻微的电流杂音,“继续。”
王涛吸了口气,把刚才的话又快速讲了一遍。这次他调出自己画的架构图,放大细节。
沈清澜安静听着。她手边放着一杯水,热气袅袅上升,在镜头里模糊了一角。
王涛讲完,张猛立刻反驳。两人声音越来越高,在会议室里撞来撞去。
李薇插不上话,手指在桌沿无意识地抠着。木刺扎进指甲缝,她嘶了一声。
陈默没打断。他低头看着三份方案,翻页时纸张发出脆响。
孙姐的圆珠笔停了。她看着陈默,又看看屏幕里的沈清澜,轻轻叹了口气。
“够了。”沈清澜说。
声音不大,但两人都停了。王涛还张着嘴,话卡在喉咙里。
沈清澜端起水杯喝了一口。吞咽的声音被麦克风放大。
“王涛。”她放下杯子,“你方案里的死信队列,打算用什么策略处理?”
这章没有结束,请点击下一页继续阅读!