第67章 谁在给新系统下套?

    周三早上马玉芬没去公司,跟周总请了假,说要在外面写方案,公司太吵静不下心。

    周总答应了,让她自己看着办,别耽误进度就行。

    她找了家离公司三条街的咖啡馆,选了靠窗的角落位置,桌子够宽,能放得开电脑。

    店里的老爵士乐音量正合适,不闹也不冷清。

    马玉芬打开电脑,旁边搁了本子和两支笔,戴上眼镜开始写。

    方案的逻辑已经理顺,主要是把那些专业词汇改成甲方听得懂的白话。

    她写了改,改了删,试了两次都不行。

    写第三遍前她停下笔,用蓝笔在纸上画了个流程图,把甲方的系统架构简化成五个方块,在旁边写上批注:这个砍掉,这个合并,这个留下,这两个换位置。

    画完看了一会儿,思路顺了。

    旁边桌坐着两个挂着大厂工牌的年轻人,穿格子衬衫的那个看了她好几眼。

    “你瞧她画的图,”格子衬衫碰了碰同伴,“跟咱们上个月讨论的分布式缓存重构思路一样。”

    同伴推了推眼镜,瞄了瞄马玉芬那副褪色的旧眼镜:“别瞎猜了,人家用纸笔画的,连绘图软件都没用,多半是学校老师或者做教材的。”

    “不对,你看她划掉的那个地方,那是核心的容灾模块。”

    格子衬衫忍不住走过来,手里端着咖啡。

    “打扰了,姐,我看您画的架构图,逻辑挺清晰。您在做微服务拆分吗?”

    “不是,”马玉芬把本子合上,“随便画画。”

    “您太客气了,”格子衬衫拉开椅子坐下,“这几个节点的合并方式挺少见的。您用什么方法划分业务边界?是用的领域驱动设计吗?”

    马玉芬看着他,把笔收起来:“用脑子想。系统太重就跑不快,把没用的砍了,速度就上去了。”

    格子衬衫愣了愣:“那您平时用什么建模工具?我们用那几款主流软件,光是画图就得花大半天,没您这么快。”

    “一块五的圆珠笔,”马玉芬指了指本子,“还有脑子。工具太复杂,想问题容易跑偏。”

    格子衬衫摸了摸鼻子,挺尴尬:“您是哪个大厂的架构师吧?做独立咨询的?”

    “上班的,小公司做方案。”马玉芬打开电脑,手放在键盘上,“我得干活了。”

    格子衬衫只好回了座位。

    同伴笑他:“吃瘪了吧,人家不理你。”

    “你懂什么,”格子衬衫咬着吸管,“那张图精简得不行,咱们老大都画不出来。”

    格子衬衫还是不死心,又凑过去:“姐,那依你看,我们现在做的缓存一致性方案,按您的思路该怎么简化?”

    马玉芬盯着屏幕说:“你们的方案,是不是为了防那百分之一的极端情况,写了百分之九十的冗余代码?”

    格子衬衫眼睛一亮:“您怎么看出来的?”

    “好多程序员都爱自我感动。”马玉芬继续打字,“为了防那些极少发生的事,把系统弄得特别臃肿。把那九成防备代码删了,留个基础的异步补偿,效率能提高三倍。”

    同伴小陈也坐不住了,走过来问:“姐,我们这系统是百万级用户的,你说的异步补偿,要是高并发时消息积压了怎么办?用户没反馈直接投诉,谁负责?”

    马玉芬看了看他,笑了一下:“消息积压是因为你们的消费端限流太保守。怕数据库垮掉,把消费端阈值设得太低,对吧?”

    小陈愣在那儿:“你怎么看出我们配置的?”

    “普通架构师都爱这么干。”

    马玉芬在纸上画了第六个方块,写上动态滑窗四个字。

    “用动态滑窗算法,根据数据库实时负载来调消费速度,别设死静态值。这样能保住数据库,还能用满带宽,积压概率能降八成。”

    小陈半天没说出话。

    格子衬衫掏出手机记着:“姐,动态滑窗我们讨论过,但总怕实现起来太复杂,容易出故障。”

    “是你们想复杂了。”马玉芬把纸推给他们,“用最基础的漏桶模型加个反馈环,代码不到五十行。回去自己写个测试测一下。”

    两人对视一眼,脸上没了轻视,态度客气了不少。

    小陈说:“姐,您是哪家公司的?加个微信行吗?以后有技术问题想请教您。”

    “不用了,我就是个写方案的。”马玉芬把纸收进包里,“大厂规矩多,我不想找麻烦。”

    两人挺遗憾,但没勉强,道了谢回去了。

    马玉芬没管后面的议论,把思路写进文档。

    有了草稿帮忙,第三段顺多了,枯燥的商业词汇都换成了大白话。

    下午一点半她回到公司,刚进办公区,就看到老赵盯着电脑屏幕发愁。

    马玉芬走过去看了一眼:“老赵,屏幕上的红字是什么?”

    老赵没回头:“压测出来的异常数据。”

    她把包放在旁边的空椅上:“什么异常?”

    老赵指着屏幕上的陡峭曲线:“这个接口的负载模拟,正常峰值应该在这,但这里冲到了三倍。”

    “三倍?”马玉芬凑近看屏幕,“查出原因了吗?”

    “没查出来。”老赵换了个窗口,“我翻了日志,这组数据不是咱们项目的。是上个月某个测试包留下的,标注没写全,来源是空的。”

    “什么测试包?”

    “不清楚,里面有一组行业新技术渗透率的模拟数据,走势不对劲。”

    老赵调出表格:“你看这预估,常规模型是慢速上升,但这数据是先平着走,到第十八个月突然变陡了。”

    马玉芬盯着曲线看了一会儿:“这拐点是什么引起的?”

    “包里没写触发条件,只有结果。”老赵摇头,“挺奇怪的,我本来想删掉省地方。”

    “留着吧,”马玉芬说,“单独存个文件夹。”

    “能用上?”

    “不好说,但这时间点跟甲方新系统上线的时间正好撞了。”马玉芬拍拍他肩膀,“有发现告诉我。”

    “这包是上个月十四号交的。”老赵指着历史记录,“那天刚好是总部派人来做例行维护。”

    马玉芬问:“总部的人?”

    “对,带队的是张明,脾气挺傲,不让我们碰他们的设备。”

    老赵嗓门低了些:“你说,会不会是总部故意留下的?张明是研发二部的,听说他跟顾明珠团队的几个技术骨干是大学同学,关系挺好。”

    “先别急,”马玉芬拍拍他,“这只是猜测。先把测试包的调用日志全导出来,特别是跟外部通信的部分。要真是个套,得有外部信号触发。”

    “行,我这就弄。”老赵点点头,“你小心点,别闹大。总部的人不好惹。”

    “我明白。”

    老赵又说:“我今晚加班排查。小马,你猜这是谁干的?内鬼还是外人?”

    “现在猜没用,”马玉芬往回走,“看证据。”

    回到工位她改了改方案的措辞。

    傍晚六点,大家陆续下班,她刚想关机,收到一封邮件。

    发件人是陆深,附件是个加密压缩包,名字叫竞标团队画像,密码是她的工号。

    解压之后她发现,里面是顾明珠团队五个核心成员的背景调查和谈判偏好,末尾写着:仅供参考。

    马玉芬对着屏幕坐了好一阵,截图发给林小鹿:“这正常吗?”

    林小鹿秒回:“太不正常了!陆总直接给你送情报啊,连对方的性格都摸透了,他图什么?”

    “图项目能赢。”

    “你信啊?没别的心思我才不信。姐,这可是你翻盘的机会,烫手也得接着。”

    马玉芬没回,直接删了邮件,连回收站也清干净了。

    刚要合上电脑,微信弹出了好友申请。

    验证消息写着:“马女士,周日晚上的茶局,我帮你约了另一个人,你应该会感兴趣。”

    头像是一片白。

    马玉芬看着申请,手搭在鼠标上,没点同意。

    外面天黑透了,办公区只亮着应急灯。

    陆深发来的资料确实管用,但能用和该不该用,中间隔着条她说不清的界限。