「林工抽空来局里看看?「
消息是周一下午三点多进来的。办公室里日光灯在头顶嗡着,空调把温吞的冷气送到后颈;窗外法桐的影子被西晒拉得老长,斜斜铺在地砖上。连日没下雨,玻璃上凝着一层薄灰。楼下不知哪家在装修,电钻声隔一阵穿一次玻璃,混着同事敲机械键盘的密响。林默正对着屏幕调人社接口的日志——客户端问候发出去之后,服务端问候偶发不回,他怀疑是中间证书的OCSP装订在部分老旧终端上握手失败。表面是例行排查,顺手另有一层:人社的接口恰好是那些陌生前缀零星冒头的位置之一,他想借看日志的机会再核一眼。
屏保亮了。大数据局对接人小吴,头像是一只卡通猫,还是半年前那只。他记得加这个人微信时的情形:对方通过得慢悠悠,验证消息回了句「哦,你是志远的「,那点疏离隔着屏幕都摸得着。半年前那场汇报会他也在场,坐在长桌末端记技术口径。那天陈志远提前半小时就到了,先在楼下花坛边站了一会儿,上来时换了件新衬衫,领子还硬挺着,压着嗓子说了句「今天这局不太对付「。林默答:「你别慌,我在。「
会议后半段是小吴代表局里讲供应商综合评估。翻到某一页,她的手指停了停——那页表格把各家按「可合作「「待观察「分了档,志远数科落在待观察一栏,理由栏里填着四个字:案例单薄。赵总监坐在斜对面,钢笔在指间转了个来回,眼风往陈志远那边扫了一趟,末了还补了句「小公司有小公司的活法「。满屋子的笑。笑声落在谁头上,只有当事人知道。林默在自己本子上写了五个字:此人看风向。写完没作声,散会后把这页折了角。那场会开完,陈志远回办公室的手一直不稳,是硬撑了一场的后劲。林默递了根烟过去,没多说。有些仗,陪着打完就够了。
如今同一个头像弹出来,措辞先软了三分。「抽空来看看「这四个字,半年前的版本叫「你们先按流程走,我们综合评估一下「,尾音里拖着不敢担责的迟疑。
他没有立刻回,也没有干等。先做了件小事:点开小吴的朋友圈,从最新一条往下翻了半年。往前翻到几个月前,转发还多是行业黑话和会议通知;最近这两个月,转的东西变了——数据要素改革的文档截屏、跨域流通的试点解读,其中一条末尾还配着一句「窗口期不等人「。风向标转没转,嘴上说的不算,转发列表最诚实。
看完,他把手机扣回桌面。回复的时点也定了:明早十点。公事的门,挑公事的时间敲——半夜回得太快,反倒显得等了很久。
天枢在这时候凑了半句热闹:【你现在可是香饽饽。】
林默嘴角动了一下,没接茬。保温杯里的枸杞菊花沉在杯底,他端起来晃了晃。香不香,别人嘴上说了不算,他只认两样:手里有没有活,身后有没有帐。前一样眼下不缺。后一样,正是他最近夜里总要多想一层的东西。
不止小吴。隐患化解后的这两周,他的微信置顶多了七八个陌生头像,邮箱里躺着几封措辞各异的求助。
人社的认证接口偶尔抽风——OAuth2换token的端点偶发504,网关超时设了3秒,token过期瞬间没有兜底。他远程先看监控大屏:超时集中在早高峰八点半到九点,正是退休老人扎堆刷社保的时段。窗口那头排起长队,有人手抖着把身份证又递了一遍,窗口的大姐隔着玻璃朝机房方向望了两回。交通卡口的数据回流延迟,高清抓拍图往对象存储批量回传,带宽打满,高架上的抓拍传不回后台,违章申诉在系统里积压。他给了错峰加压缩分级的方案,顺手写了个队列优先级,让申诉这类非实时任务走低速队列,不挤占实时卡口。交通的值班员后来发消息说「好了不堵了「,他回了个大拇指——这种小活,不值当声张。
住建的网签另有一桩:每逢月末最后一个工作日必堵,高峰整个压在下午四点。他把批量图件的压缩算法换了一版,把堵点整体挪出了高峰。对接人要请饭,他回了一句「食堂就行「。
连远郊气象局都来问。值班员小郑加微信时发了个「跪了「的表情:那局里就他一个人守机房,老系统跑着没建索引的SQL,一次统计查找四十秒。林默远程桌面连进去,建了个复合索引,查找掉到两秒。小郑回了个「林工牛「,过几天真寄来一盒本地茶叶。林默转手搁在陈志远桌上:「你团队的客户心意。「陈志远乐了半天。
「救火专业户「这个绰号,最初是锐科的人在群里损志远用的——你们公司养了个专门擦屁股的圆场佬,话里话外是「离了你们这摊烂事转不动「。如今风水转过来,这绰号成了各局抢人的由头。各局的对接群里已经有人半开玩笑地用起来了:「这块硬骨头,要不要请救火专业户来看看?「底下跟一串附议。当年嘲他的人,如今排队求他出手。他对这些邀约有一套固定动作:去,看,改,教会,走人。成果的署名,永远是对方运维组自己的。人社现场的运维组长老刘后来私下跟陈志远透了句底:「林工这人不抢功,难找。「陈志远在电话里学这句话时,笑声隔着听筒都能溅出来。
人社那次现场,值得单说。到机房前,他在走廊碰见老刘。老刘欲言又止,末了只说出一句「林工来了「。机房里机柜嗡嗡响,热空气里是散热片和灰尘混着的味道,室温二十八度,他把外套脱了搭在椅背上。这会儿整层机房就他们两个人。
他先看access log的时间戳分布:超时集中在整点后的第七到第九分钟,正对上证书轮换的定时任务。OCSP装订在老旧终端的TLS1.1上偶发握手失败,重试又踩在网关3秒超时的刀刃上。他没动大手术:重试退避的节奏调顺,指数退避,二百毫秒、四百、八百,三次兜底;加一层本地缓存,TTL六十秒,LRU把最热的几项常驻;网关超时放宽到八秒,token加异步刷新。半小时后,窗口那头的老人刷出了社保,柜员松了口气,没有人问这半小时机房里发生过什么。复盘的时候他多看了样东西:那批还在跑TLS1.1的老终端,清一色是社保自助一体机,换新的采购流程走了八个月,卡在预算环节。技术问题往下挖一层,多半是流程问题——这一条他没写进报告,只在口头交接时提了老刘一句,让他顺着自己的话往上递。根子上能松动的口子,总得有人往上递话。
走之前他把老刘叫到屏幕前,教他怎么看时间戳分布——哪一段是轮换引起的,哪一段是真拥塞,一句话讲一条线。本事留在人身上,比揣在自己兜里经用。蹲下理线时膝盖吱呀响了一声,三十好几的人,连着熬夜,腰也僵。老刘憨憨地笑:「你们组响应是真快。「「是你们组快。「林默说,「我搭了把手。「
周会上,科长端著白瓷茶杯夸人:「我们组这回反应快。「白瓷杯里的水汽一缕缕往上飘,空调的凉气顺着林默的领口往下钻。他提前十分钟到,陈志远给他使了个眼色,他心领神会,端着保温杯坐进旁听席最后一排。走廊里两个科员低声说「听说这回是林工帮忙「,他装没听见。科长说话时眼皮朝他这个方向擡了半秒,又若无其事地移开。会后科长跟陈志远握手:「你们这人不错。「满屋的人都清楚「反应快「背后站着谁,只是没人戳破,也不必戳破。
周三上午,联合排查组的第一次碰头开在大数据局三楼。林默以技术牵头的身份坐在长桌中段,面前摊着演示文稿的三个附件:七十二小时叠图、脱敏解析、牵引行为快照。讲完三个附件,他停住,附件之外的内容一个字没带进这间屋子。组长是局里一位处级干部,全程只在他讲到附件三时擡头看了一眼大屏,其余时间在批别的文档。小吴坐在斜对面记录,笔走得快。散会时她追出来一步:「林工,以后局里的技术对接直接找我,别绕流程。「林默点头应下。半年前在评估表上把他划进「待观察「的那支笔,如今在会议纪要的技术口径一栏,写的是「通过「。
半年前那支把他划进「待观察「的笔,如今亲手写下「通过「。这场逆袭没有锣鼓,安静得连当事人都没听出声响——可林默比谁都清楚,当年笑话他「擦屁股圆场佬「的那拨人,如今正排队等他出手。轻视者反求,从来不是靠争,是靠一次一次把事办成了。
陈志远如今接电话接到手软。某局信息科的王科开口就问「林工这周有空不「;税务的李科约「请林工喝个茶「。同样是接电话,半年前他腰是弯的,如今腰板直了,声音也沉了。拍着林默的肩,力道不轻:「你现在是我的活招牌。「转过身逢人便说「默子是我们团队的宝贝「——从「临时搭把手的「到「镇店之宝「,中间隔着的那半年,他自己心里有一本帐。
有一回某局直接把电话打到了林默手机上。他接完,转手把对方对接人拉进有陈志远在的工作群:「往后走群,别绕开我老板。「另有一晚陈志远压低声音:「默子,我真怕哪天你被市里要走。「「你是我发小。「林默说,「去哪儿都还是你的人。「
这话一出口他就知道落在了哪儿。当年垫着工资给团队发饷的是陈志远,如今底气足了,嘴上不拦,心里虚——逢人说「宝贝「,一半是夸,一半是拴。林默看在眼里,不点破。他要的从来不是名头,是个能安心写代码的地方;陈志远给的恰恰是后者。这笔帐,两清。那一刻他忽然觉得胸口那口气顺了——不是得意,是踏实,像终于把借来的地方,住成了自己的。
至于功劳,他不居功,也不推。归给团队,大家都有面子,他自己的安全垫也厚一层。早年姓周的合伙人嫌他在媒体前露脸多,嫌风头被抢——散伙之后,「太扎眼「三个字先他一步进了各家HR的耳朵,简历投出去石沉大海。最后是陈志远一句「来我这儿搭把手「接住了他。先把光调暗,等该亮的时候再亮,这个分寸是拿真金白银换的。
上级那条线,是在他看不见的地方接上的。天枢借边缘设备织网那晚透出去的涟漪,没有消失。它被一个省级的数据监测平台捕到了。平台的路数不复杂:各市流量镜像用消息队列汇上去,流式计算做窗口聚合,基线取过去三十天同一时段的均值,再叠三重指数平滑和信息熵,检测偏离;每条黄标都带着来源市的编码,他的那一笔,挂在云州的码上。那晚入池的二十多台边缘设备,单台流量很小,可设备多——「非业务时段算力突起「这个维度聚合之后,偏离基线三个多西格玛,黄标。值班分析师小周是后半夜的班,看到那行黄标,嘀咕了一句「这谁家半夜算力乱蹦「。组长老张把记录拖过来扫了一眼,又拖回去:「先标着,别惊动。这种黄标十个里有九个,是哪家迁移作业忘了报备。「备注栏里于是多了一行小字:异常算力波动来源待核,建议关注。小周顺手把记录设了次日覆核。覆核的会是另一个人,再往后还有抽检——链条就是这样一环一环续下去的。
这一步天枢预警过。【你借的光越亮,照到你的人就越多。】当时他只当是提醒,如今真应了。
省级平台每天生成的黄标成百上千,他这一笔混在其中并不起眼,眼下是安全的。可「安全「的意思已经变了:他从「没人注意的角落「,挪进了「值得偶尔看一眼「的名单。这种名单他熟——当年他的公司也上过一回「值得看一眼「,那回是因为欠薪被监管标黄;如今这个黄,是他自己点亮的。同一种颜色,两种处境。他没去查那行备注背后是谁。这是他给自己定的又一条纪律。省级平台的每一次查找都会在自己的日志里留痕——他去查,等于在人家地盘上再点一把火,还顺手留下「有人查找黄标「的二级记录,比黄标本身显眼十倍。不动,对方最多存疑;一动,坐实心里有鬼。猫不会回头瞪摄像头,这个道理不用谁来教。
他把几桩事归进同一页:上级监测异常这个事实,境外编译痕迹,还有那个不像本地玩家的前缀。几桩事彼此不挨着,分量却已经站在同一个层级上。这一页没有名字,只编了个号。
被人需要这件事,两头都开刃。一边是各委办局排着队请他,另一边是某双看不见的眼睛已经把他的「异常「记了一笔。他擡手按了按耳后,那阵熟悉的微热又涌上来——从政务云里那枚残片第一次在他脑中响起震颤起,这温热就没真正退过。他看清了一个躲不开的循环:越被需要,出手越多;出手越多,残片越活;残片越活,被看见的概率越大。热闹越大,暗处的目光就越亮。
想明白这一层,他反倒松了半口气,顺手把残片的日常使用也划了更细的档:查证类照旧,推演类限时限流,生产级调用一律先审批——给自己的人,走自己的流程。三种用量各自的红线数值写在便签上,压在键盘底下。躲不开的东西,就先把手艺磨好;等视线真落到面前,手里不能是空的。
下班前他给陈志远敲了半句「别总把我架这么高「,想想又删了。有些话一出口就得解释,解释就得摊开,摊开就得连着那道涟漪一起交代。还不是时候。挂掉脑子里最后一段对话之前,他在便签上添了一行:这张网往后每开一次,先回答一个问题——这一网,值不值得被看见。答不上来,就不开。
一周后,那个没留名的号码发来一条短信。纯文本,没有表情,没有签名栏:「林先生,有份调研想请您配合,关于政务云边缘算力调度的实践——方便时回个话。「末尾缀着一个三个字母的机构缩写,冷冰冰的。林默盯着那行字看了很久,把手机屏幕朝下扣回桌面。
扎人的地方不在号码,在题目。政务云边缘算力调度——这件事在人间不存在文件:没有立项单号,没有变更记录,没有会议纪要;知情者按理只有两方,他自己,和那晚在冷僻频段上看过一眼的人。这条短信说明,看过的那一方不但看了,还记下了,并且顺着一个不该存在的途径,摸到了他的私人号码。
天枢在他脑中无声地亮了一下:【号码是实名空号转接,归属查到市级运营商就断了。缩写对应一个省级协调机构——公开渠道里,查不到这个机构任何对外联系电话。】
也就是说,这行短信本身,就是那个机构不该发出的一封。
