小会议室比大会议室小一半,桌子是椭圆形的,表面是浅木色,比大会议室的胡桃木更温和。
桌子中间放着一个白色的骨瓷水杯,印着星海的logo,杯沿没有水渍,应该是刚倒的,但水已经凉了——冷月凝大概没喝几口。
她坐在主位上,笔记本电脑放在面前,屏幕还亮着,停留在刚才那页分布式锁的文档。
她没抬头,只是指了指对面的椅子:“坐。”
声音还是那么淡,但没有了之前的压迫感,更像是在和一个技术同行对话。
我拉开椅子坐下,椅子垫是软的,比大会议室的硬木椅舒服多了。
我把笔记本放在桌上,翻开——里面还是那只歪歪扭扭的霸王龙,被刚才的汗水浸得有点模糊,我赶紧用手抹了抹,想把它擦掉,却越抹越花。
“不用紧张。”
冷月凝突然开口,目光落在我的笔记本上,嘴角似乎动了一下,像是在笑,但很快又恢复了平静,
“我们就事论事,聊技术。”
我心里一松,后背的汗终于不流了。
我清了清嗓子,把注意力集中在她的电脑屏幕上:
“冷总,您刚才看的文档里,提到分布式锁的超时重试阈值是50毫秒,这个值在网络稳定的时候没问题,但要是遇到网络波动,比如跨地域的节点通信延迟突然升到100毫秒,就会触发误释放。”
冷月凝点了点头,手指在触控板上滑动,调出另一页文档:“我们做过测试,网络延迟超过80毫秒的概率不到01。”
“但极端场景下,概率再低也可能发生。”我赶紧说,
“我之前帮朋友做的电商网站,就是因为忽略了这01的概率,去年‘双11’的时候,支付模块崩溃了三分钟,损失了二十多万订单。后来我把超时阈值调到了200毫秒,还加了个‘二次确认’的步骤——节点释放锁前,先和其他三个节点通信,确认没有正在进行的写操作,再释放,这样就避免了误释放。”
我一边说,一边打开自己的笔记本,找到之前画的架构草图——那是我帮朋友改模块时画的,上面有很多密密麻麻的注释,比如“二次确认超时时间≤50毫秒”
我把笔记本推到冷月凝面前:“您看,这是我当时画的草图,后来验证过,这个方案在百万级并发下,零误释放。”
冷月凝低头看着我的笔记本,眼神很专注,手指偶尔会点一下草图上的注释:“这个二次确认的步骤,会不会影响吞吐?”
“会,但影响很小。”我赶紧解释,“二次确认是异步的,不阻塞主流程,吞吐大概会降5左右,但换来的是数据绝对安全。这种核心链路,5的吞吐损失,比数据不一致的风险划算多了。”
她没立刻说话,而是打开了一个excel表格——里面是星海之前的测试数据,红色的行标着“失败案例”,其中一行的备注是“分布式锁误释放,数据不一致”,时间是上个月的促销活动期间。
我心里一惊,app里提到过星海上个月因为并发崩溃过,没想到真的有数据支撑。
“上个月我们的支付模块崩溃了三分钟,损失了两百多万订单。”冷月凝的声音有点低,不像在抱怨,更像是在陈述事实,“技术团队查了很久,没找到根本原因,只以为是并发太高,现在看来,可能就是你说的‘脑裂’。”
她的话像一颗定心丸,我知道,我已经真正切中了她的痛点。
我偷偷看了一下系统,“信任度”,“兴趣度”从“一般”变成了“显着”,连“决策倾向”都从“拒绝”变成了“考虑”。
“那你们的方案,能不能解决这个问题?”冷月凝抬起头,眼神里多了一丝期待——这是我第一次在她眼里看到除了冰冷和审视之外的情绪。
“我们之前的方案,只能部分解决。”我没敢夸大其词,实事求是地说,
“之前的方案用的是传统的多副本同步,虽然能保证一致性,但吞吐太低,撑不住千万级并发。如果要彻底解决,需要重新设计核心模块——用动态备用节点加二次确认,再结合可调一致性模型,这样既能保证安全,又能兼顾吞吐。”
“可调一致性模型?”冷月凝皱了皱眉,“具体怎么实现?”
“就是根据不同的业务场景,调整一致性级别。”我解释道,“比如商品列表,对一致性要求低,就用最终一致性,保证吞吐;支付环节,对一致性要求高,就用强一致性,加二次确认;用户信息更新,介于两者之间,就用因果一致性。这样分场景优化,比一刀切的方案更灵活。”
我一边说,一边想起自己之前写的代码——当时为了实现这个模型,熬了好几个通宵,用python写了个动态配置中心,能实时调整每个链路的一致性级别。
我掏出手机,打开阿里云盘,找到当时的代码截图:
“冷总,您看,这是我之前写的配置中心代码,能支持毫秒级的一致性级别切换。”
冷月凝凑过来看我的手机,她的头发离我很近,带着淡淡的雪松味,和她身上的香水味一样。
她的手指在我的手机屏幕上轻轻点了一下:“这个配置中心,能不能集成到我们的架构里?”
“可以。”我赶紧点头,“只要做个适配接口,就能和贵司的服务注册中心对接,不需要改太多代码。”
她没再说话,而是靠在椅背上,手指轻轻敲着桌面——这次的敲击很有节奏,不像之前的无意识动作,更像是在思考。
会议室里很静,我能听到她电脑风扇的轻微声音,还有窗外偶尔传来的汽车鸣笛声。
我突然想起系统里提到的,她反感唯唯诺诺的合作方,喜欢敢于直言的技术人员。
我深吸一口气,决定再冒一次险:
“冷总,其实我觉得,贵司现在的问题,不只是分布式锁的漏洞,还有架构的扩展性问题。星海30虽然支持动态伸缩,但底层的存储架构还是集中式的,一旦数据量超过阈值,扩容会很麻烦。如果能把存储也改成分布式的,用对象存储加时序数据库,扩展性会好很多。”
我说完,心里有点慌——这已经超出了之前的话题,万一她觉得我多管闲事,就麻烦了。
但冷月凝的反应却出乎我的意料,她眼睛一亮:“你也觉得存储是瓶颈?我们技术团队也提过,但元老们觉得成本太高,一直没批。”
“成本虽然高,但长期来看划算。”我赶紧说,
“分布式存储能按需扩容,不用一次性买很多服务器,而且可靠性更高,单点故障不会影响整个系统。我之前帮一个物联网公司做过存储架构改造,他们的数据量从10tb涨到100tb,只加了10个节点,成本比集中式存储省了30。”
冷月凝拿出笔,在笔记本上写了几个字:“分布式存储+可调一致性+动态锁确认”。
然后她抬起头,看着我,眼神里有了明显的欣赏:“李卫柠,你比我想象的更懂技术。”
这句话比任何奖励都让我开心,我能感觉到,“信任度”
就在这时,她的内线电话响了,她接起来,只说了一句“知道了”,就挂了。
她看了一眼电脑上的时间:“时间差不多了,外面的人还在等。”
我赶紧站起来,以为要结束了。但她却递给我一张名片:“这是我的私人电话,有什么技术问题,随时联系我。三天后,我希望看到一份详细的技术建议书,不用太复杂,把我们刚才聊的这几个点写清楚就行。”
我接过她的名片,名片是银色的,材质很厚实,上面只有她的名字和电话,没有头衔,很简洁。
我紧紧攥着名片,手心的汗差点把名片弄湿:“好的,冷总,我一定尽快写出来。”
她点了点头,起身走到门口:“我让助理送你出去。”
走出小会议室,助理已经在门口等了,她手里拿着一瓶常温的矿泉水:“李工,冷总说您可能渴了,让我给您拿瓶水。”
我接过水,心里暖了一下——冷月凝虽然看起来冷,但其实很细心,知道我刚才紧张,肯定喝不下冰水。
回到大会议室,张总立刻迎了上来,他的眼睛里满是期待:“卫柠,怎么样?谈得怎么样?”
我举起手里的名片,笑着说:“张总,冷总给了我们三天时间,让我们提交一份新的技术建议书。”
瞬间,会议室里爆发出一阵压抑的欢呼声!
王姐激动地抱住我,小李拍着我的肩膀,张总的眼眶都红了,他拿出手机,立刻给公司ceo打电话:“王总!有转机了!我们有希望和星海合作了!”
我看着兴奋的众人,心里却很平静——我知道,这只是第一步,接下来的三天,才是真正的挑战。
但我手里攥着冷月凝的名片,口袋里揣着那个有划痕的u盘,心里充满了信心。
走出星海大厦的时候,阳光正好,照在我的脸上,暖洋洋的。
我掏出手机,然后我打开外卖软件,把之前没点的炸鸡重新下单,还加了一份薯条——今天,该好好犒劳自己一下了。