周三一早,王辰剛到公司,就被組里的程序員小李堵在了門口。
“辰哥,出事了!”小李臉色發(fā)白,“訂單系統(tǒng)昨晚又崩了,凌晨的批量任務(wù)全部失敗?!?/p>
王辰心里一沉。這個遺留系統(tǒng)就像個定時炸彈,用的是十年前的架構(gòu),代碼臃腫得像團亂麻。
“查到原因了嗎?”
“好像是數(shù)據(jù)庫鎖表。。?!毙±罡觳阶呦蜣k公區(qū),“但最麻煩的是,日志系統(tǒng)也一起掛了,現(xiàn)在連錯誤堆棧都看不到。”
辦公區(qū)里彌漫著低氣壓。幾個程序員頂著黑眼圈,顯然熬了通宵。
王辰打開終端,嘗試連接測試環(huán)境。命令行滾動著紅色的錯誤信息,最后停在一個數(shù)據(jù)庫連接超時的提示上。
“把昨晚的監(jiān)控調(diào)出來?!蓖醭剿砷_鼠標,“我要看資源使用情況?!?/p>
監(jiān)控圖表顯示,內(nèi)存使用率在凌晨兩點達到峰值,然后像懸崖一樣跌落——典型的服務(wù)崩潰特征。
“又是那個老問題?!蓖醭饺嗔巳嗝夹模癘RM框架的懶加載配上N+1查詢,每次批量處理都在生成上萬條SQL?!?/p>
組里最資深的張工嘆了口氣:“這技術(shù)債欠了五年了,現(xiàn)在要還,得把核心模塊重寫?!?/p>
“業(yè)務(wù)方能給多少時間?”王辰問。
“最多三天?!表椖拷?jīng)理老劉推門進來,臉色難看,“財務(wù)部已經(jīng)炸鍋了,說影響了月底結(jié)算。”
王辰看著滿屏的報錯日志。三天重寫核心模塊?簡直是天方夜譚。
“我先寫個臨時補丁?!彼^鍵盤,“把最耗資源的幾個查詢改寫成存儲過程,至少保證今晚的批量任務(wù)能跑。”
手指在鍵盤上飛舞,王辰突然想起天眼系統(tǒng)。要是這系統(tǒng)能預知代碼bug該多好,可惜它只看得到K線圖。
(媽的,早知道當年就該選金融專業(yè)。)
中午,團隊叫了外賣,但沒人有胃口吃飯。王辰一邊啃著三明治,一邊review剛寫的存儲過程。
“辰哥,”小李湊過來小聲說,“聽說馮總那邊在自研分布式架構(gòu),我們要不要。。?!?/p>
“遠水救不了近火?!蓖醭酱驍嗨跋劝蜒矍暗幕饟錅缭僬f?!?/p>
下午四點,臨時補丁部署到測試環(huán)境。王辰盯著監(jiān)控屏幕,看著批量任務(wù)緩慢但穩(wěn)定地推進。
“CPU使用率還是太高。”張工指著監(jiān)控圖,“峰值到85%了?!?/p>
“總比崩掉強?!蓖醭娇戳搜蹠r間,“先上線,明天再優(yōu)化?!?/p>
下班時已是晚上八點。王辰拖著疲憊的身子走出辦公樓,手機上有兩個未接來電,都是郭慧的。
他回撥過去:“今晚加班,剛忙完。”
電話那頭沉默片刻:“吃飯了嗎?”
“吃了外賣。”
“我給你留了湯?!惫鄣穆曇羧岷拖聛恚盎貋頍峤o你喝。”
掛掉電話,王辰抬頭看著辦公樓里零星的燈光。這一刻,他忽然理解了那些基金經(jīng)理——在K線圖背后,每個人都有一地雞毛要收拾。
喜歡金融帝國之股神歸來請大家收藏:()金融帝國之股神歸來