首页 排行 分类 完本 书单 专题 用户中心 原创专区
看书神 > 其他类型 > 宿山行 > 第627章 第 627 章

宿山行 第627章 第 627 章

作者:帝谛 分类:其他类型 更新时间:2024-07-22 01:38:23 来源:文学城

技术评审会的会议室冷气开得太足,程司白把西装外套的袖口往下拽了拽,指尖触到手腕上一小片冰凉的皮肤。

她面前摊著一本笔记本,打开到第三页,上面是她手写的技术要点——字迹工整得像打印体,每个术语后面都跟著精确的页码标注。这是她的习惯,开会前会把对方方案的技术文档读三遍,第一遍理解架构,第二遍找漏洞,第三遍准备反驳。

投影幕上正在播放架构方案的最后一页。

“……综上所述,业务中台采用基于Paxos的数据一致性方案,可以保证在分布式节点出现故障时,系统仍能达成共识。预计吞吐量每秒一万两千笔交易,延迟控制在三百毫秒以内。”

裴衍之站在投影幕前,手里握著翻页笔,声音平稳,语速适中。他穿著深蓝色的衬衫,袖口挽到小臂中段,露出腕上的手表——那是三年前程司白送他的生日礼物,她认出来了,因为表盘上有一道细微的刮痕,是她当时包礼物时不小心用剪刀划的。

她把目光从那道刮痕上移开,低头在笔记本上写了两个字:延迟。

裴衍之说完最后一句话,会议室陷入短暂的安静。技术总监唐嘉树坐在会议桌中间的位置,点了点头,正要开口。

“我有问题。”

程司白的声音不大,但足够清晰。她抬起头,目光越过会议桌上散落的笔记型电脑和矿泉水瓶,直直落在裴衍之脸上。

“程司白,架构组负责人。”她自我介绍,虽然在座所有人都知道她是谁,“关于数据一致性方案,我有几个技术细节需要确认。”

裴衍之的表情没变,只是翻页笔在他指尖转了半圈。“请说。”

“第一,”程司白翻开笔记本,念出她事先准备好的问题,“Paxos算法在多个提案者并发场景下,活锁问题如何解决?你的方案文档第4.3节提到“通过随机超时机制避免”,但我没有看到具体的数学证明。”

“第二,你的方案假设网络延迟在可预测范围内,但业务中台需要对接海外节点,跨洲网络的延迟抖动会导致频繁的领导者选举,这时候系统的可用性是多少?你的文档没有给出数据。”

“第三,”她停顿了一下,把笔记本翻到下一页,“你在容错设计中采用的是少数服从多数的投票机制,但当三个机房中的一个出现网络分区时,你怎么保证剩下的两个机房不会出现脑裂?”

她一口气说完,会议室里的温度仿佛又降了几度。

坐在程司白旁边的何悦悄悄往椅子里缩了缩,眼睛却亮得发光,手在桌子底下飞快地给同事发消息:“程姐开杀了。”

裴衍之沉默了三秒。

这三秒里,程司白注意到他的右手拇指按了一下翻页笔的按钮,那是他思考时的小动作,三年前她就知道。他没有慌乱,也没有急著辩解,而是把翻页笔放在桌上,双手撑著会议桌的边缘。

“程司白,”他叫她的名字,语气和当年在她家楼下说“晚安”时一模一样,平静、克制、带著某种她说不清楚的温度,“你提的三个问题,我逐个回答。”

“第一,活锁问题的解决方案不是随机超时,是带有退避机制的随机超时。数学证明在方案附录B,如果你看完了全文,应该能找到。”

程司白的手指在笔记本边缘轻轻敲了一下。她确实没有看附录。

“第二,海外节点的延迟抖动问题,我们做过模拟测试,数据在测试报告第七章。结论是在三百毫秒的延迟下,领导者选举频率会增加百分之十五,但系统可用性仍保持在百分之九十九点九以上。”

“第三,”他微微侧头,目光从她脸上移到投影幕上,又移回来,“网络分区场景下的脑裂问题,我的方案确实没有给出完美解决方案。因为在分布式系统里,脑裂没有完美解法,只有取舍。我选择的是优先保证数据一致性,牺牲一部分可用性——也就是CP系统。你的架构组在三个月前的技术评审中,不也投票通过了同样的取舍原则吗?”

最后一句话像一把手术刀,精准地切开了她的防线。

程司白面无表情地看著他,笔记本上的字迹在她视线里变得模糊了一瞬。她当然记得那次评审,是她亲自主持的,是她说服所有人接受CP原则,是她写下了技术决策文档的最终版本。

她没有反驳,因为他说的都是事实。

唐嘉树在这时候开口了,声音温和,带著某种长辈特有的从容:“看来两位对技术方案的理解都很深入。程司白,你对裴衍之的方案还有其他意见吗?”

程司白把笔记本合上。“有。他的方案整体架构没有问题,但数据一致性方案太弱,不符合公司的技术标准。我建议否决,重新设计。”

“否决”两个字落地的瞬间,裴衍之的表情终于出现了一丝裂缝。他的眉头微微皱起,嘴角抿成一条直线,那是他在压制情绪的标志——程司白见过这个表情,三年前她说“我们分手吧”的时候,他也是这样。

“程司白,”裴衍之的声音比之前低了半度,“我的方案完全符合公司技术标准。你说的“太弱”,具体是指什么?如果你拿不出具体的技术依据,只是因为个人偏好而否决,那这场评审就没有意义了。”

“个人偏好?”程司白站起来,手掌撑著桌面,“裴衍之,你觉得我是在针对你?”

“我没有这么说。”裴衍之也站直了身体,“但你的反对意见集中在数据一致性上,而这个问题在我们系统的业务场景中并不是瓶颈。你在用理论上的极端情况否定一个在实践中可行的方案。”

“实践可行不代表架构优雅。”

“架构优雅不代表能按时上线。”

会议室的空气凝结了。何悦缩在椅子上大气都不敢喘,坐在裴衍之旁边的陆维安试图开口缓和气氛,被唐嘉树一个眼神制止了。

唐嘉树站起来,走到会议桌的中间位置,把两人的视线隔开。“够了。”

他看看程司白,又看看裴衍之,语气平静得像在讨论今天的天气:“技术方案有分歧很正常,吵架解决不了问题。这样吧,这个项目架构组和业务中台必须合作,否则不启动。你们回去再讨论,下周一给我一个双方都能接受的方案。”

“唐总——”程司白开口。

“没有商量的余地。”唐嘉树打断她,拿起桌上的笔记本,“散会。”

会议室里的人陆续离开。何悦收拾东西的时候频频看向程司白,想说什么又不敢,最后只是小声说了句“程姐,我先走了”,就抱著笔记本匆匆出了门。

陆维安走到裴衍之旁边,低声问:“裴哥,你还好吧?”

裴衍之没回答,只是把翻页笔放回桌上,开始收拾自己的东西。

程司白是最后一个起身的。她把笔记本放进公事包,拉上拉链,转头看见裴衍之正把方案文档装进文件夹。他的动作很慢,每一页都对得很整齐,像是在刻意拖延什么。

她没有等他,拎著公事包走向会议室的门。

电梯在大楼的东侧,需要经过一条长长的走廊。程司白的脚步声在走廊里回荡,高跟鞋敲击大理石地面,节奏均匀,像一段没有感情的程式码。

她在电梯前停下来,按了下楼键。

电梯门打开的时候,身后传来另一个脚步声。

裴衍之走进电梯,站在她旁边,按了同一层楼的按钮。

电梯门关上,狭小的空间里只有他们两个人。程司白看著电梯门上反射的倒影,他站在她右后方,比她高出大半个头,肩膀的线条比三年前宽了一些。

电梯开始下降。

沉默持续了大概十秒,程司白先开口了。

“好久不见。”

她说这话的时候没有转头,声音很轻,像是在自言自语。电梯里的空调嗡嗡作响,几乎要把这三个字吞没。

裴衍之沉默了三秒。

这三秒里,程司白看见电梯门的倒影中,他垂在身侧的手握了一下拳头,又松开。

“好久不见。”

他的声音比她想像中平静,平静得像在确认一个无关紧要的事实。

电梯到达楼层,门打开。程司白走出去,没有回头,脚步声沿著走廊一路远去。

裴衍之站在电梯里,手指按在开门键上,看著她的背影消失在走廊尽头。

她还是那个样子,走路的姿势、说话的语气、甚至提问题的角度,都和三年前一模一样。唯一不同的是,她现在是架构组的负责人,坐在会议桌的主位,有资格否决他的方案。

电梯门缓缓关上,裴衍之没有走出去。

他靠在电梯的墙上,闭了一下眼睛。脑子里翻来覆去只有一个念头:她瘦了。

程司白回到工位的时候,何悦正在茶水间门口探头探脑地张望,看到她走过来,立刻缩回去假装倒水。

程司白没理她,坐到自己的位置上,打开抽屉,从最里面拿出一部旧手机。

那是她三年前用的手机,萤幕上有几道细微的刮痕,边框的漆磨掉了一小块。她按了一下电源键,电池还有一半的电量——她每隔几个月会给它充一次电,从来不开机,只是怕电池坏掉。

她打开手机,点进讯息应用程式,找到那个没有备注名的对话框。

对话框里只有几条讯息,时间停留在三年前的某个深夜。

她发的:“裴衍之,我们不合适。你太感性了,我不需要。”

他回的:“好,不打扰了。”

她盯著这几行字看了很久,萤幕的光映在她脸上,把她的表情照得一片空白。

旁边的何悦终于忍不住了,端著一杯水走过来,假装不经意地问:“程姐,你在看什么?”

程司白按掉萤幕,把手机放回抽屉,锁上。

“没什么。”

她的声音很平,平得像一面结了冰的湖。

何悦识趣地没再问,端著水走开了,走了几步又回头看了一眼。

程司白已经打开了电脑,萤幕上是裴衍之的技术方案文档。她的手指放在键盘上,却一个字都没有打。

萤幕的光照著她的脸,她的表情很平静,平静得像一个正在执行程式码的机器。

但如果有人仔细看她的眼睛,会发现她的目光根本没有聚焦在萤幕上。

她在看萤幕里反射的自己。

那个自己穿著整齐的西装,头发挽得一丝不苟,表情冷静,姿态从容——和三分钟前在电梯里说“好久不见”时一模一样。

她忽然觉得有点讽刺。

她是做分布式系统的工程师,每天的工作是让成千上万个节点达成共识。她可以设计出最优雅的共识算法,可以解决最复杂的数据一致性问题,可以用数学证明一个系统最终会收敛到正确的状态。

但她不知道怎么让两个人,达成共识。

窗外是城市的夜景,办公区里只剩下零星几个加班的同事。程司白关掉文档,打开一个新的程式码档案,在里面写了一行注释:

// TODO: 解决共识问题

她看著这行字,忽然觉得好笑,又觉得荒谬。

系统的共识问题,她可以写出完美的证明。

人与人之间的共识问题,她连一个变数都定义不清楚。

远处某个工位传来键盘敲击的声音,节奏稳定,像一段没有感情的白噪音。

程司白关掉编辑器,关掉电脑,拿起公事包走出办公室。

经过裴衍之团队的办公区域时,她没有停下脚步,也没有转头去看。

但如果她转头,她会看见裴衍之的工位上灯还亮著,萤幕上打开的正是她的架构组文档。

他也在看。

只是两个人都假装,没有在看。

电梯门关上的声音在她身后响起的时候,程司白没有回头。

走廊很长,从电梯口到架构组的办公区域需要经过三扇窗户、一个茶水间、一面贴满技术海报的墙。她的脚步声均匀地敲击在大理石地面上,每一步的间隔都几乎相等——这是她从小养成的习惯,走路的时候会在心里数拍子,一二一二,像一段稳定的时钟信号。

这是她让自己保持冷静的方式。

架构组的办公区域在走廊尽头,靠窗的一排工位。程司白的工位在角落,桌上放著一个萤幕擦拭布、一个白色的马克杯、一本翻开到第七章的《分布式系统原理与实践》。她的东西永远摆在固定的位置,笔在右边,笔记本在左边,键盘正对萤幕,连滑鼠垫的边缘都与桌沿平行。

她坐下来的时候,手指碰到键盘,冰凉的触感让她想起刚才会议室里的冷气。

裴衍之站在投影幕前的样子还在她脑海里转。他瘦了一些,下巴的线条比三年前更硬,说话的时候习惯性地微微侧头,眼睛会瞇起来一点——那是他在思考的标志。以前她觉得那个表情很好看,现在她觉得那个表情很讨厌。

不是因为不好看,是因为她还记得。

她打开抽屉拿充电线的时候,手指碰到了一个硬邦邦的东西。

是一部旧手机。

萤幕上没有裂痕,但边框的漆磨掉了一小块,那是她当年摔的。分手那天她把手机摔在地上,捡起来之后发现除了边框掉漆之外什么问题都没有,像他们的关系——表面上完好无损,其实某个角落已经碎了。

她按了一下电源键。

萤幕亮起来的瞬间,桌面上那张照片让她呼吸停了一秒。

照片里是两年前的某个周末,他们在公司的天台上。裴衍之穿著一件灰色的连帽衫,手里拿著两杯咖啡,对著镜头笑得很开心。她站在他旁边,头发被风吹乱了,嘴角有一点点上扬的弧度——那是她为数不多的、被拍下来的笑容。

她记得那天。那天他们加班到凌晨三点,终于把一个困扰了两周的性能瓶颈解决了。裴衍之说要去天台看日出,她说无聊,但还是跟著去了。日出还没出来的时候他说,程司白你知道吗,这是我进公司以来最开心的一天。她问为什么。他说因为你今天笑了三次。

她当时觉得这个人真的很奇怪,会去数别人笑了几次。

现在她觉得这个人真的很讨厌,因为她记得那天她确实笑了三次。

程司白盯著那张照片看了大概十秒,然后把手机翻过去,萤幕朝下扣在桌上。

她不想看。她不能看。

那些记忆像潮水一样涌上来,不管她怎么筑坝都没用。

三年前她刚进这家公司的时候,还不是架构组的负责人。她只是一个刚毕业的工程师,坐在大开放区最角落的工位上,每天写程式码、修Bug、开会的时候一句话都不说。同事们觉得她高冷,其实她只是不知道怎么开口。她从小就不擅长这件事——跟人说话,跟人靠近,跟人建立某种不需要证明的关系。

裴衍之是第一个让她觉得说话没那么难的人。

他坐在她隔壁的工位,每天早上来的时候会跟她说早安,声音很轻,像怕打扰她。午饭时间他会问她要不要一起,她说不用,他就点点头,自己去了。第二天还是会问。第三天也是。第四天也是。

大概过了一个月,她终于说了一句“好”。

那是她第一次跟同事一起吃午饭。食堂很吵,到处都是说话的声音。裴衍之坐在她对面,一边吃饭一边跟她讲他最近在做的项目,讲到有趣的地方会自己先笑起来。她发现他笑起来的时候眼睛会弯成两道月牙,看起来很温暖。

她不知道自己有没有笑。但那天下午写程式码的时候,她发现自己哼了一首歌。

那是她很久没有做过的事。

后来他们开始一起加班、一起吃饭、一起在下班的路上走一段路。裴衍之住在公司北边,她住在东边,其实完全不顺路,但他每次都会说“我刚好也要往这边走”,然后陪她走十五分钟到她家楼下。

她知道他在说谎。但她没有拆穿。

因为那十五分钟的路程,是她一天中最放松的时间。他们会聊今天遇到的技术难题,聊最近看的书,聊小时候的事。她告诉他自己是单亲家庭,妈妈是高中数学老师,从小对她要求很严格。他说他家里开了个小公司,爸妈经常吵架,但吵完之后会一起去吃火锅。

她说:“你们家好奇怪。”

他说:“你们家也好奇怪。”

她问:“哪里奇怪?”

他说:“你妈把你教得太好了,好到你有时候不像一个真人。”

她不懂这句话是什么意思。他解释说:“真人会犯错,会撒娇,会说自己累。你不会。你像一个写得很完美的程式,永远不会崩溃,但也永远不会更新。”

她当时觉得他在胡说八道。现在想起来,他说的可能是对的。

母亲的电话总是打得很准时,每周六晚上八点,从来不迟到也不早到。

程司白拿出手机,翻到通话记录。上周六的通话时长是四分三十秒,再上周是三分五十秒,再上周是五分十秒。每次的通话内容都差不多——母亲问她吃饭了吗、工作怎么样、有没有加班,她回答吃了、还行、加了一点。然后母亲说注意身体,她说好。然后母亲说挂了吧,她说好。

四分三十秒里,有三分钟是沉默。

她记得小时候不是这样的。小时候母亲会抱著她讲故事,会在她发烧的时候整夜不睡守著她,会在她考了一百分的时候笑著摸她的头。但母亲也很少笑,大部分时候眉头是皱著的,眼睛里有一种她说不清楚的东西——后来她才知道那叫疲惫。

父亲在她三岁的时候离开了。母亲从来不提原因,只在某一次她问“为什么别人都有爸爸”的时候说了一句话。

那句话她记了二十五年。

“司白,妈妈一个人把你拉扯大,你要记住,这世上能靠的只有自己。”

那天母亲说这话的时候没有看她,正在厨房里洗碗。水龙头的声音很大,哗哗哗地响,但每一个字她都听得很清楚。

从那天起,她就学会了一件事:不要依赖任何人。

依赖是危险的。依赖意味著你把一部分自己交给了别人,而别人随时可以拿走。她的父亲拿走了母亲的一部分,母亲从此再也没有完整过。她不要那样。

所以她拼命读书、拼命工作、拼命让自己变强。她不跟同事走得太近,不交太多朋友,不在任何人面前哭。她把自己活成了一个孤岛,岛上有完善的基础设施、稳定的电力供应、备份的发电机组——她不需要任何外界的补给,也能运转得很好。

直到裴衍之出现。

直到她发现自己开始期待他的消息。

那种感觉很陌生,陌生到让她害怕。每天早上打开手机的时候,她会先看有没有他的讯息。开会的时候她会想他中午会不会来找她吃饭。加班到很晚的时候她会想他会不会又说“刚好顺路”。

她发现自己开始依赖他。

不是那种“我需要你的帮忙”的依赖,是那种“我想见到你”的依赖。后者更可怕,因为前者可以用逻辑解释,后者没有理由。

她试过说服自己这只是一时的错觉。她试过刻意疏远他,不回他的讯息、不跟他吃午饭、不让他陪她走那十五分钟。但每次他问“你今天怎么了”的时候,她就会心软。

心软是最大的弱点。

分手那天是个周六。母亲的电话刚打完,内容和往常一样——吃饭了吗、工作怎么样、有没有加班、注意身体、挂了吧。挂了电话之后她坐在床上,手机萤幕亮著,上面是裴衍之发来的讯息。

“明天要不要一起去那家新开的书店?听说有很多技术书。”

她看著这行字,手指悬在萤幕上方。

她很想回“好”。

这个念头让她全身发冷。

她想起母亲说的话。她想起父亲离开之后母亲再也没有笑过的样子。她想起自己发过誓不要变成那样。

依赖等于脆弱。脆弱等于受伤。受伤等于无法修复。

这个逻辑链条在她脑子里转了一圈又一圈,像一个死循环,永远跳不出来。

她打了四个字:“我们分手吧。”

发送之后她把手机摔在地上,然后捡起来,看到他回了三个问号。

她没有解释。她不知道怎么解释。她总不能说“因为我太喜欢你了,我怕有一天你不喜欢我了,我会崩溃”。那太可笑了。她是一个工程师,工程师不会说这种话。

她又发了一条:“裴衍之,我们不合适。你太感性了,我不需要。”

这条发出去之后,他没有立刻回。

她等了五分钟、十分钟、半个小时。手机萤幕暗了又亮,亮了又暗。她把对话框打开关上、关上打开,重复了不知道多少次。

最后他回了四个字:“好,不打扰了。”

她把对话框删了。

但她没有把他从通讯录里删掉。她也不知道为什么。

“程姐?”

办公室的灯不知道什么时候暗了下来。窗外的天色已经完全黑了,城市的灯光从玻璃窗照进来,在桌面上投下一片橘黄色的光。

程司白抬起头,看见何悦站在门口,手里端著一杯水,表情小心翼翼,像一只试探著要不要靠近的猫。

“程姐,你还没走啊?”何悦走进来,目光在她脸上停留了一下,“你脸色不太好,是不是不舒服?”

“没有。”程司白把扣在桌上的手机翻过来,萤幕朝下放进抽屉,动作很快,像在藏什么不该被看到的东西。

何悦假装没看见,自顾自地坐到旁边的椅子上,喝了口水,然后沉默了大概五秒。

这五秒里程司白知道她要问什么了。何悦这个人藏不住话,每次要问敏感问题之前都会先喝一口水,然后沉默五秒,像是在给自己打气。

“程姐,你跟裴哥是不是认识啊?”

来了。

程司白的手指在键盘上停了一下。“不熟。”

两个字,干脆俐落,像一段编译通过的程式码,没有任何语法错误。

何悦“哦”了一声,又喝了口水,明显还想说什么,但看到程司白的表情之后把话吞回去了。她站起来,走到门口的时候回头看了一眼。

“程姐,早点回去休息吧。”

门轻轻关上。

程司白坐在位置上没有动。

窗外的城市灯光在玻璃上晕开,变成一片模糊的光斑。办公区里只剩她一个人,空调的嗡嗡声在寂静中被放大了无数倍,像一段单调的白噪音。

她打开电脑,点进项目管理系统,找到裴衍之提交的技术方案。

方案文档很长,目录就有三页。他的写作风格还是老样子——逻辑清晰、条理分明,每一章前面都有一段简短的概述,让读者在进入细节之前先理解整体框架。这是她以前教他的方法,没想到他现在用得很好。

她快速翻阅著,从第一章到第十章,从架构设计到部署方案。她不得不承认这是一份很优秀的方案,比她预期中好得多。每一个技术决策都有充分的理由,每一个风险点都有对应的应对措施,连她之前质疑的三个问题,除了脑裂那个确实没有完美解法之外,另外两个他都在附录里给出了详细的证明和测试数据。

她翻到最后一页。

那是方案签署页,上面有裴衍之的电子签名,签名下面是一行小字:

“感谢架构组的支持,期待合作。——裴衍之”

程司白盯著这行字看了很久。

“感谢架构组的支持。”

她知道这只是方案文档的标准结尾,每个提交方案的人都会写类似的一句话。但她还是忍不住去想,他写这行字的时候是什么表情?是公事公办的客套,还是——

她打断自己的念头。

不要想这些。不需要想这些。

她把文档关掉,关上电脑,拎起公事包走出办公室。

经过走廊的时候,她经过那面贴满技术海报的墙。海报上写著一行大字:“分布式系统的最终一致性:理论与实践。”

最终一致性。

这个词在分布式系统里的意思是:系统不保证在任何时刻数据都是一致的,但保证在足够长的时间之后,所有节点最终会达成一致。

她想,人与人之间有没有最终一致性?

如果有,需要多长时间?

电梯到了,门打开。她走进去,按了一楼的按钮。

电梯下降的时候,她想起刚才在电梯里说的那句“好久不见”。

他的回答也是“好久不见”。

她不知道他有没有变。至少从技术方案来看,他变得比以前更理性了。以前他总是凭直觉做决定,现在他会用数据说话。以前他会说“我觉得这样更好”,现在他会说“测试数据证明这样更好”。

这不是她以前希望他变成的样子吗?

一个够理性的人。

一个不会让她觉得危险的人。

电梯门打开,一楼的大厅很安静,只有保全坐在前台后面看手机。程司白走出大楼,夜风吹过来,带著城市夜晚特有的温度——不冷,也不暖,刚刚好让人觉得清醒。

她站在大楼门口,抬头看了一眼。

十五楼的灯还亮著。

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体风格
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
收藏
换源
听书
听书
发声
男声 女生 逍遥 软萌
语速
适中 超快
音量
适中
开始播放
推荐
反馈
章节报错
当前章节
报错内容
提交
加入收藏 < 上一章 章节列表 下一章 > 错误举报