‹ 天枢—执棋者4/28 章 · 3304 字

第4章 第004章 搞不定的加急

周四下午三点,驻场工位区忽然躁动起来。

消息提示音连着响了几声,夹在萤光灯管的嗡声里,格外扎耳朵。市大数据局刚把一份加急需求甩进对接群——两个工作日内打通发改、人社、市场监管三个委办局的数据接口,做一轮跨系统联调。消息末尾缀着红色的「特急」二字。几个同事探头往四周看,有人小声嘀咕「又来」,尾音拖着认命的无奈,有人已经把键盘敲得更急了。加急这东西落在谁头上谁加班,没人想当接锅的那个。

林默也扫了一眼。三份接口文档链接齐刷刷挂在那儿,他没急着点开,先看了群里的发言顺序——对接人是踩着下班点发的。真急的上午就来了,拖到下午三点才甩出来,多半不是事情本身有多急,而是把「我提醒过你们」的台阶先铺好,风险提前转给乙方。这种做派他在甲方身上见过太多回,连眉头都没动一下。

加急就加急,活儿总得有人干。区别只在于干的人,知不知道自己在干什么。他又翻了一眼已读回执——老周和小吴都秒读了,唯独王海涛隔了半分钟才冒出来。组长都在算帐,这活儿的雷早就有人闻出来了。

这种「特急」,他见得不算少。真火烧眉毛的需求,往往上午就有人追着电话打,生怕慢一秒误事;偏要挨到下班前才甩进群的,多半是锅比活沉——先把「我提醒过你们」的台阶铺好,真黄了,追责的箭头就顺着这条记录扎向乙方。林默把群消息往上翻了两行,确认发送时间,心里就有数了:这趟活儿,首先是必须接。可问题是,干成了是团队的,干黄了,帐本上第一个被翻出来的名字,大概率不会是王海涛。

王海涛盯着屏幕「啧」了一声,把保温杯重重搁上台面,茶水溅出两滴,洇在桌面的便利粘贴。「三个局,三套标准,字段对字段能差出八百里地。」他冲工位区喊了一嗓子,嗓门比平时亮,「老周、小吴,过来,今晚把这活儿啃了。林默——」

目光落到这边,顿了半秒。那半秒里像是在快速分类:能干的,不能干的,以及能背锅的的。

「你……负责把历史日志再核对一遍,别出岔子就行。」

林默从杯沿擡眼:「行。」

分工不奇怪。在王海涛眼里,临时工就是重启会按、日志会扒的「打杂位」,正经接口联调根本排不上号。支去干最没油水的活,既显出自己指挥若定,也留好了退路——真成了算「团队配合」,真黄了,还有一半锅可以想办法扣在「日志没核好」上等着顶。

【把你支去核日志,显功劳的留给自家人。】天枢的声音贴着头骨内壁滑过来,凉凉的,带着看戏的意味,【林默,你现在是透明人里最透明的一个。】

林默没接话,把凉茶推到一边,腾出桌面。恼也没必要恼,被公司垮掉拖到谷底又被人收留进来的,早把「不抢戏」练成了本能。当年抢过的风头不少——融资会上抢麦、产品发布抢镜,风口一过,所有「我早就说过」都成了别人眼里的刺。如今换个身份,反倒把这手「藏拙」使得越来越顺。兜帽一戴,往角落一缩。测试机是自己挑的,靠窗,离王海涛那伙人隔着三张桌子——既是避嫌,也给自己留个观察位。屏幕上是正经的日志界面,视野底下却是另一番光景。明面上核日志,暗地里另一盘棋已经在走。

王海涛带着老周小吴在白板前画了半天架构图,马克笔吱呀作响,随后各自分到一台测试机开始调接口。三个委办局的接口标准,确实乱。

发改还守着老一套 SOAP,信封式报文,namespace裹得密不透风,像一只钥匙孔都锈死的老保险柜;签名规范停在二〇〇三年的 WS-Security,证书还是自签的,链路一断全体罢工。人社刚迁到 REST,字段命名全凭写文档那天的手感——同一个「企业统一社会信用代码」,A接口叫 credit_code,B接口成了 usci,文档里只字不提。市场监管更绝:同一份企业信用数据,A接口吐 JSON,B接口吐 XML,各自还带着一套自己的错误码,连标点都对不齐。

他在虚拟视野里来回捋了几遍,结论越来越清楚——根子不在人笨,是这三套系统压根就没打算跟彼此说话。历史债积到现在,靠熬熬不平。

晚上九点,工位区只剩他们四个。萤光灯把四张脸照得发灰,眼下青影比灯光还重。脚边测试机的风扇低低转着,吹出一阵带灰的热风扑在小腿上;方便面味混着马克笔的酒精味在密闭房间里越积越浓,熏得脑门发胀。

老周揉着眼角摁出一片红印,声音发哑:「这市场监管 B接口的 error code跟发牌似的,一会儿 0一会儿-1,文档里压根没写,纯靠蒙。」

小吴整个人陷进椅背里:「人社鉴权的token,过期策略跟发改对不上,我一调就 403,明天能跑通算我输。」

王海涛捏着眉心,半天憋出一句:「再试。挨个字段对。」

林默坐在角落。所谓历史日志核对,早干完了——那点活对他来说不过是热剩饭。借着继续核对的由头,三个委办局的文档、错误码表、拓扑关系已在天枢辅助下过了一整遍。

【发改 SOAP的信封里包着

天枢在他视野前方,再次缓缓铺开一张拓扑图,三个局的节点被不同颜色的线串起来——红的发改,蓝的人社,黄的市场监管,彼此交错十几处,【人社的 REST网和它自己的 usci。这不是对着字段硬抠能解决的——中间缺一层协议适配。】

「适配层?」

【三层就够。协议转译、字段映射、错误码归一。】天枢在高亮处点了五下,【你点一下确认,我把依赖顺序排好。】

至于市场监管那个「发牌式」的 B接口,天枢从它返回的 header里反推出了规律:0是成功,-1字段缺失,-2超时,其余全是埋进去的脏值,全部拦掉就干净。顺着高亮点了几下,一套方案的逻辑骨架连同字段映射表,静静浮现在私人草稿里。剩下的,是他十来年攒下的手艺。

胶水代码他闭着眼都能搭:先探活,再降级,最后才谈适配——次序错了准出事。当年赶 Demo写反过一回顺序,在线跑通了却在流量一高时雪崩,被客户的电话追到凌晨两点。还有一回,他图快把降级逻辑省了,结果上游一抖动,适配层跟着一起抽风,整条链路瘫了小半天。从那以后他就一条铁律:胶水可以糙,顺序不能错。糙是手艺问题,错是态度问题,后者要命。

他把适配层写成一段转发规则:SOAP请求进来,先拆信封按 namespace路由,再翻成 REST的 JSON body;字段映射整理成一份 YAML,发改的 credit_code和人社的 usci指向同一个逻辑字段,注释里留了一句——统一社会信用代码,别再各叫各的了;错误码那边挂个轻量中间件,0和-1、-2原样放行,其余脏值一律截在网关外,筛子一样,只放该进的进。

敲键盘的手很稳,指节在键帽上起落,没出一点差错。没声张,连呼吸都放轻了。

【这就对了。】天枢的语气里有点满意,但收着,【递刀的手递刀,执棋的手执棋。这屋里另外三个加起来,手都没你这双稳。】

林默抿了抿唇,把草稿存进加密夹,文档夹名还是那一套「老照片备份_2023」的掩眼法。一个落子,一个递刀——各忙各的,谁也不抢谁的戏。这套配合从残片认主那夜起就越磨越顺,顺到如今不必商量。

快十一点了。王海涛那边依旧卡在 403。白板画得密密麻麻,红蓝黑三色缠成一团,人越调越躁,键盘一声比一声响。老周打完了第三个哈欠,小吴那台测试机的风扇呜呜直响,听着像随时要罢工。

林默起身去接水。路过王海涛工位,视线从他肩膀上方扫过去——屏幕正中一行刺眼的 403 Forbidden,后面跟着一长串 token校验失败的日志。

干运维的,被各种 403坑过太多回。十次里有六次根本不是权限问题,而是两边的时钟没对齐:服务器之间差个几十秒,token签发时间和校验时间就对不上号,网关二话不说直接拒。这种坑,新人真看不出,老手一眼就能闻见那个味儿。当年接过一个省级门户项目,客户三天两头在群里@全员骂 403,咬定是我们的代码烂。熬了两个通宵才发现,问题在他们自己那台老网关——NTP服务停了半年,时钟整整慢十一分钟,token签发时间永远早于校验时间。锅不在我们这边,在对方的钟上。从那以后,看见 403他第一件事就是瞟一眼时间戳。今晚这味儿,一模一样。

「王哥。」

脚步只停了两秒,语气平常得像随口一提,水杯在手里转了半圈。「那个 403,是不是 token时钟偏移超了阈值?人社网关用的好像是自己那套时间源,跟发改差了两分钟不止。」

☰目录
天枢—执棋者 第4章 第004章 搞不定的加急 - 墨韵小说