鵬城的七月,天像是倒扣的陶罐子,把溽熱燜在裡頭。
推開窗戶,空氣稠得能攥出水,白晃晃的日頭還沒爬上來,樓群間已浮起嗡嗡的空調聲。
那些方盒子外機列在水泥牆上,活似蜂巢裡躁動的工蜂,晝夜不息地吐著熱浪。
木棉葉子蒙了層釉光,油亮亮地發蔫。
榕樹的氣根垂成簾幕,懸在街角紋絲不動,倒叫人想起戲台子上的老生髯口。
水泥地浮著汗堿,柏油路曬得發軟,踩上去黏答答的,像是踩著塊曬化的梘水粽。
鵬城阪田華興總部d區數據中心的玻璃幕牆映著晚霞,將整個走廊染成橘紅色。
陳默的辦公室門敞開著,林雨晴抱著一摞文件站在門口,看著裡麵圍坐在會議桌旁的幾個人“慣例加班”。
“馮工,這是上周壓測的日誌分析。” 蘇琳將平板電腦推過桌麵,屏幕上跳動著密密麻麻的數據流,“分布式事務模塊的吞吐量卡在8萬ts,和oracle的差距還是超過 20。”
馮亦如的手指在桌沿敲出急促的節奏,金絲眼鏡都快要滑到鼻翼:“鎖衝突的問題還沒解決?上周不是說優化了鎖粒度?”
坐在他對麵的鐘耀祖聞言撇了撇嘴,心想媽的你倒是說得簡單,你行你上。
嘴上卻還是老實說道:“傳統兩階段提交協議在跨節點事務裡就是繞不過的坎兒。我和顧南舟試過引入axos算法,但一致性校驗的延遲又上來了。”
會議室的空調發出輕微的嗡鳴,而顧南舟正盯著牆上的架構圖發呆。
旋即突然開口:“有沒有可能重構事務日誌的存儲結構?比如用ls樹替代b+樹?”
“胡鬨!” 徐璐猛地抬頭,作為運維負責人的她最在意數據庫的穩定性,聽見“重構”兩個字她下意識就是反對,“ls樹的寫放大問題怎麼解決?我們現在的io瓶頸已經夠嚴重了。”
鐘耀祖和顧南舟交換了個眼神,前者往前傾了傾身子:“徐總,我們做過模擬,結合分層壓縮策略,寫放大能控製在3倍以內。而且蘇琳他們開發的動態緩衝算法,剛好能配合這個結構。”
蘇琳連忙點頭,調出另一張圖表:“這是上周在測試環境跑的數據,雖然單次寫入延遲增加了15,但批量處理效率提升了40。”
徐璐看完後默不出聲,而一旁的馮亦如看完後則同樣遲遲沒有說話。
陳默靠在辦公椅上,看著這兩個目前公司最資深的數據庫專家陷入掙紮,倒是沒想到連蘇琳也“叛變了”。
從2015年10月高斯數據庫項目優先級重新提到最高等級以來,陳默就用了華興慣用的集中攻關方式來重點攻克這個項目。
典型的“壓強式投入”和“軍團作戰”模式,通過資源聚焦、跨團隊協同、快速迭代等方式,突破自研分布式數據庫的核心技術難題。
隨著每過一段時間就有“大牛”進入團隊,這樣的技術爭論幾乎每天都在發生。
馮亦如帶著老團隊堅守傳統想法,而鐘耀祖、顧南舟這些天才少年則不斷提出激進的改進方案。
“這樣吧,” 陳默突然開口,“兩邊都彆爭了。老馮,你帶蘇琳他們繼續優化現有方案,重點解決鎖衝突。耀祖,你們組用ls樹做個實驗性分支,下周在蓉城數據中心做壓力測試。”
鐘耀祖剛要開口,陳默抬手打斷:“我知道你想說資源,但現在整個數據中心20的算力都給了你們。要是這次壓測再不過,彆說我沒給機會。”
會議室的氣氛稍微緩和了些,林雨晴適時遞上幾份文件:“陳總,這是王啟明那邊的進度。他帶著韓清和從sa挖來的團隊,把er和高斯數據庫的接口適配推進了30。”
陳默當然還記得韓清,魔都交大招來的妹子,天才少年之一,算法方向特彆有天賦。
還在他回憶的時候卻聽見了徐璐有些悶悶的聲音,“但兼容性測試又發現新問題。”。
她還沒開口,邊上的劉洋作為數據庫運維團隊負責人的頭號馬仔從角落開了口,“財務模塊的跨國結算邏輯和高斯的事務隔離級彆不兼容,上周模擬斷網場景,出現了三筆數據不一致。”
陳默揉了揉太陽穴,目光落在牆上的倒計時牌,距離集團要求的 “渡河計劃” 第一期驗收還有90天。
從去年10月鄭總親自站台開始,華興在高斯數據庫上的投入已經超過3個億。
抽調了包括馮亦如、鐘耀祖在內的300多名骨乾,更不用說從全球挖來的天才少年們。
“大家先去吃飯,吃完晚飯去實驗室看看。” 陳默起身對林雨晴說道,“今晚把係統運維的胡笳和應用支持的徐雙龍也叫上,跨團隊碰一碰。”
位於阪田的華興中央實驗室,空調開得格外冷。
陳默和林雨晴一同走進機房,看到娜塔莎正趴在地上檢查服務器線纜,葉蓁蓁戴著降噪耳機盯著屏幕,手指在鍵盤上飛快敲擊。
“顧神,來瓶默總的牛馬提神水?” 鐘耀祖扔過去一罐功能性飲料,卻被顧南舟接住後放在一邊。
“彆鬨,” 顧南舟頭也不抬,“剛發現鎖超時機製和應用層的重試邏輯有衝突,每次重試都會觸發鎖升級,導致死鎖概率增加2。”
胡笳此刻抱著筆記本電腦坐在角落,聽到這話立刻抬頭:“我們應用係統那邊收到反饋,物流係統的訂單鎖經常卡死。是不是和這個有關?”
徐雙龍點頭補充:“對,還好是測試環境,不然電話估計都會被打爆了。”
馮亦如調出監控畫麵,紅色預警閃爍:“看,這就是鎖競爭最激烈的節點。倉儲、物流、財務三個模塊同時調用庫存數據,傳統的行級鎖根本扛不住。”
鐘耀祖突然站到白板前,用馬克筆劃出架構圖:“問題出在鎖顆粒度太細。如果改成表級鎖結合樂觀鎖,至少能減少70的鎖競爭。”
“但樂觀鎖在高並發下的重試成本更高!” 馮亦如反駁,“而且和我們現有的事務日誌結構不兼容。”
陳默看著白板上密密麻麻交錯的線條,隻感覺腦瓜子疼。
去年在黃二姐大排檔和馮亦如那會兒高斯數據庫還在低穀,如今卻像個正在蛻變的蛹,每一步都伴隨著劇痛。
“這樣,” 陳默敲了敲白板,“再新增一套測試環境,耀祖的方案在新測試環境跑,老馮你安排蘇琳做兼容性驗證。胡笳,你帶應用團隊整理出三個高頻鎖競爭的業務場景,明天中午前給我。”
他轉身看向徐璐:“運維這邊準備好應急預案,彆讓他們把所有1比1的測試環境都給我搞掛嘍。”
集中攻關的日子過得很快。
“把空調開到16度!”
蘇琳扯著嘶啞的嗓子拍打機房玻璃門時,馮亦如正在數據中心大門外啃麵包吃。
這是2016年7月22日淩晨三點,鵬城阪田d區b3機房。