系統背後驚心動魄 需要強大內心支撐

新華社港台部供稿 |2020.02.02
1237觀看次
字級
二○○七年,淘寶網的流量讓後台系統再次遭遇支撐瓶頸。程立及團隊臨危受命,啟動了對支付寶系統的升級改造項目。圖/新華社

新華社港台部供稿

二○○七年,淘寶網的流量讓後台系統再次遭遇支撐瓶頸。程立及團隊臨危受命,啟動了對支付寶系統的升級改造項目。

通俗來說,他們要做的就是怎樣用0和1的代碼,創造出一台能支撐十四億人同時上線付款的「巨型收銀台」——不僅要做到所有人在付款時都能不排隊「秒付」,還要確保收支的每筆錢都沒有任何錯誤。讓程立倍感壓力的是,這套系統需要在三個月之內上線。

用戶流如潮水襲來

對程式設計師而言,做系統最忌諱的就是「將所有雞蛋都裝到一個筐裡」。但因為時間緊、任務重,為完成任務,程立和他的團隊決定孤注一擲。原定二○○八年一月初發布的新系統,在一拖再拖的趕鴨子上架式催促下,終於上線問世。

新老系統平穩過渡,需要將老系統裡數以億計的用戶和資金數據完整準確移入新系統,程立和他的團隊決定停機八小時。

停機,意味著用戶在此期間無法正常進行交易。停機時間愈長,用戶「跳票」的可能性就愈大,對企業的損失也就愈高。所以,如何在約定停機時間內完成新老系統的切割,顯得尤為重要。

在零點停機後的八個小時裡,新系統與老系統的數據一直無法配平,資金校驗也一直無法通過。直到中午十二點,問題才得以解決。當天下午三點,程立和業務負責人決定將新系統上線五分鐘進行測試。

「滴滴滴……」系統剛剛上線,數據異常的警報聲響徹機房。一群人圍著時任支付寶首席業務架構師的倪行軍(花名「苗人鳳」),尋找癥結所在。

大家在臘月裡都穿著厚厚的冬衣,但圍著倪行軍的每個人額頭上和手心裡都滲出了冷汗。

時間一分一秒地過去,問題還是沒有找到。這時,程立站出來,替換了計算機前的另一個程式設計師,一番緊張的摸索之後排除了故障——原來,核對數據的公式出了問題。

下午五點,新系統再次上線。積攢了十七個小時的用戶流如潮水般襲來,不一會兒系統就「決堤」了。

在這頭,程立帶著團隊搶修系統;另一頭,數據異常的警報聲再次響起。更讓人揪心的是,互聯網上諸如「支付寶帶錢跑路」的流言已滿天飛……

「我主導的項目會不會就這麼讓支付寶完蛋?」連續多日沒有闔眼的程立內心有些崩潰。好在事情在用戶潮湧退去後發生了轉機。在仔細核查相關數據後,程式設計師發現數據異常的警報僅是「誤報」。

化身人肉雲計算

大部分人對阿里巴巴的「雙十一」購物狂歡節並不陌生。二○一○年「雙十一」前夕,支付寶的全體技術人員都在做最後的準備工作,根據前一年「雙十一」的經驗,系統被提前留出比平時高出一倍的餘量。二○一○年十一月十一日零點剛過,系統餘量瞬間被瘋狂的用戶流占用,程立和他的團隊被這一突發情況打了個措手不及。

「趕緊調配可用資源!」程立在第一時間做出反應。那時,雲計算還未普及,後台程式設計師化身「人肉雲計算」,這邊的系統資源閒下了馬上頂上,那邊的系統資源過載了就趕緊遷移。忙活了一整天,本以為手忙腳亂應付過了當年的「雙十一」,誰知事情又向戲劇化方向發展。

時間到了晚上十一點五十九分三十秒,系統最核心的數據庫即將崩潰。一旦這個數據庫崩潰,意味著之前所有的努力都將付諸東流。

「把會計程序『殺掉』,先收錢,後點錢,快!」千鈞一髮之際,程立的團隊再次做出正確決定。當天,交易悉數準確無誤地完成。

「做程式設計師真需要一顆強大的內心。我們只要寫錯一個代碼,對用戶來說可能就是成千上萬元的損失。」

程立說,在充當了一次又一次的「消防隊員」後,他逐漸明白,一個優秀的程式設計師不光是要自己一個人悶頭寫程序,還要嘗試著引導一個團隊去思考,怎樣做才能在滿足用戶多樣性需求的基礎之上,創造更多的社會價值。

熱門新聞
訂閱電子報
台北市 天氣預報   台灣一週天氣預報

《人間福報》是一份多元化的報紙,不單只有報導佛教新聞,乃以推動祥和社會、淨化人心為職志,以關懷人類福祉、追求世界和平為宗旨,堅持新聞的準度與速度、廣度與深度,關懷弱勢族群與公益;強調內容溫馨、健康、益智、環保,不八卦、不加料、不阿諛,希冀藉由優質的內涵,體貼大眾身心靈的需要、關懷地球永續經營、延續宇宙無窮慧命,是一份承擔社會責任的報紙。自許成為「社會的一道光明」的《人間福報》任重而道遠,在秉持創辦人星雲大師「傳播人間善因善緣」的理念之際,更將堅持為社會注入清流,讓福報的發行為人間帶來祥和歡喜,具體實現「人間有福報,福報滿人間」的目標。
人間福報社股份有限公司 統編:70470026

 
聯絡我們 隱私權條款

Copyright © 2000-2024 人間福報 www.merit-times.com.tw
All Rights Reserved.