百川技術競賽:和精致死磕,與挑戰(zhàn)為伴——HiShop
作為一家專業(yè)的電商系統(tǒng)和增值服務的提供商,我們時常會自我發(fā)問:當面對企業(yè)的海量數(shù)據(jù)難題時,我們是否有足夠優(yōu)良的技術架構支撐?在一個充分競爭的市場中,我們是否有優(yōu)于競爭對手的技術硬實力?
快速夯實產(chǎn)品的數(shù)據(jù)分析處理能力,向客戶輸出更優(yōu)秀數(shù)據(jù)類產(chǎn)品工具已經(jīng)成為技術團隊下個階段需要重點關注的方向,10月底的“HiShop 2017百川數(shù)據(jù)挑戰(zhàn)賽” 恰好在企業(yè)內部應勢而生,不設限參賽個體的人數(shù)更是吸引了7支自由組合的戰(zhàn)隊奮勇前來挑戰(zhàn)豐厚的10K冠軍現(xiàn)金大獎。
挑戰(zhàn)賽的名稱“百川”一詞,取自“海納百川,有容乃大”,顧名思義,這次挑戰(zhàn)賽的重點就是要考驗各路技術達人們應對海量零售業(yè)務數(shù)據(jù)的架構設計能力和合理規(guī)劃使用云計算設施資源的綜合能力。
這一次的技術挑戰(zhàn)賽緊扣電商平臺“海量數(shù)據(jù)處理”這一主題,大賽評審——海商首席技術官“大師兄”為這次參賽戰(zhàn)隊準備了數(shù)億級的訂單項記錄、千萬級的會員和數(shù)百家線下門店的實驗原始數(shù)據(jù),這一體量足以直接對標京東淘寶的旗艦大店。
賽事分為三階段展開,第一階段是賽題公示環(huán)節(jié),參賽團隊將得到賽題、原始數(shù)據(jù)和驗證程序,方便對結果進行糾錯;第二階段由參賽團隊自由完成設計、實現(xiàn)和內部測試,為期一周;第三階段為公開評選,主辦方將使用評測程序依次對各戰(zhàn)隊提交的程序按照賽題要求中的技術規(guī)范進行自動測試并打分,決出冠軍。
技術優(yōu)化是一場極盡精致的藝術
從預賽報名時最初的7個戰(zhàn)隊經(jīng)過一周高強度的方案設計和架構實現(xiàn)優(yōu)化,僅剩4個戰(zhàn)隊最終強勢挺進決賽階段。最終,來自新零售事業(yè)部的劉磊、楚家琪、龔紹平、晏志勇組成的“吃雞”(Eat Chicken)戰(zhàn)隊以極致完美的數(shù)據(jù)表現(xiàn)強勢拿下本次技術比賽的冠軍。
然而奪冠背后,離不開的是團隊的緊密配合、徹夜調試和無數(shù)次反復優(yōu)化嘗試,就在公開評選測試的前一天,“吃雞”團隊熬了一個通宵,一邊驗證測試一邊調整算法,草稿紙上密密麻麻記錄下了他們N輪評測跑分的結果,工程師文化的科學精神和嚴謹態(tài)度絲毫畢現(xiàn)。
在確保自己的所有的架構設計和算法調優(yōu)都已經(jīng)到極限后,晏志勇又打起了“空格”的主意,最終返回的數(shù)據(jù)字符串間間的6000余個“空格”,其實占據(jù)了不過幾KB(千字節(jié))的資源帶寬,在體量較小時對整體數(shù)據(jù)處理效率的影響可謂是“無傷大雅”,但在大訪問量高并發(fā)的場景下帶來的系統(tǒng)處理能力和網(wǎng)絡帶寬資源開銷就不容小覷了,團隊擁有“阿里式大廠”的憂患意識,誓要將作品優(yōu)化到極致,消滅一切占用系統(tǒng)資源的可優(yōu)化因素。
系統(tǒng)的優(yōu)化是沒有大一統(tǒng)方案的,每一個優(yōu)良的優(yōu)化方案設計都需要針對具體問題,特定分析、逐步優(yōu)化得來。優(yōu)化的過程也要遵循科學思維和工程方法,以事實為本,用數(shù)據(jù)說話。
于是,在重新調整了算法后,憑借著極致精細化的細節(jié)處理能力,“吃雞”隊在最終評審測試階段僅憑千分之幾秒的優(yōu)勢,在三個回合的測試中技壓群雄,強勢拿滿分10分最終摘得桂冠。
賽后,“吃雞”隊開玩笑地相約要真真正正去吃一頓雞,但最后由于賽前一周的高壓式頭腦風暴和極度缺覺,緊繃的神經(jīng)終于得以放松,集體“吃雞”最終變成了各自“補覺”。
挑戰(zhàn)絕不因賽事結束而輕易終結
為了給參賽者更多的自由度,這次技術大賽對參賽使用的操作系統(tǒng)和編程語言等技術棧都沒有做硬性規(guī)定。本以為大家都會求穩(wěn)而使用自己常用的.NET Framework + Windows系統(tǒng)來參賽,但讓評委“大師兄”沒有想到的是,大賽殺出了一匹與眾不同的獨狼黑馬——來自私有云事業(yè)部的范根。
平時基本在Windows系統(tǒng)下工作的范根,為了這次大賽,他在賽前花了僅僅一周的時間自學了Linux系統(tǒng),并最后應用到了自己的作品架構當中,在某此方面顯著提升了底層的性能,最終以微弱的差距輸給了“吃雞”戰(zhàn)隊奪得了第二名。
在范根決定使用Linux系統(tǒng)后,他立馬找組委會申請了兩臺Linux ECS開始鉆研起來,“我想肯定很多人曾考慮過在某些底層支撐用Linux系統(tǒng),但卻很少有人擁有范根這樣破釜沉舟的勇氣和魄力,畢竟留給參賽戰(zhàn)隊選手的時間十分有限啊!” “大師兄”說道。
在第二、三輪的終極測試中,范根戰(zhàn)隊的系統(tǒng)響應速度與第一名的“吃雞”戰(zhàn)隊不分伯仲,“大師兄”不禁感嘆:“也許只要給他充足的時間,讓他思考得再細致一些,他未必會輸給新零售的戰(zhàn)隊。”
盡管比賽已經(jīng)落下帷幕,但對于范根來說,這只是一次象征著突破和嘗試的開始。賽后,他找到“大師兄”表示自己還想繼續(xù)優(yōu)化自己的作品,這已經(jīng)無關比賽,而是一個工程師對自己的技術作品超越利益驅動的鐘愛,也是挑戰(zhàn)和拓展自己認知邊界的強烈訴求。
一場有商業(yè)價值和意義的比賽
其實這場技術挑戰(zhàn)賽早在9月份時就開始了籌備工作。“活躍產(chǎn)品技術氛圍、鼓勵大膽創(chuàng)新、選拔優(yōu)秀技術人才、營造尊重知識人才的工程師文化”,由產(chǎn)品副總裁、人力資源部、首席技術官、核心架構師共同組成的組委會在紙上共同寫下對這場比賽的期待。
賽制和選題都是組委會經(jīng)過反復推敲制定的,“我們期待每一場活動和比賽都能達到‘有效’和‘高效’,正是由于在服務大型行業(yè)客戶的真實經(jīng)歷讓我們找到了自身的痛點,才有了這場比賽。”
不得不說,這的確是一場極具“商業(yè)價值”的比賽,海商現(xiàn)有的服務客戶中,不乏有千萬級訂單量的連鎖品牌,比賽亦是一次難得的實戰(zhàn)演練,推演的過程會給現(xiàn)實的研發(fā)過程以無限靈感和啟發(fā),而最終成果放在產(chǎn)品內又將是一次意義非凡的迭代。為了這次比賽,首席技術官“大師兄”已經(jīng)連續(xù)30個小時沒有合眼,要與參賽團隊一樣完成賽題的實現(xiàn),并且比賽數(shù)據(jù)的正確性、評測工具的可靠性是公平公正的基礎,這是需要投入大量精力的高強度的工作。為了大賽的順利進行,他犧牲了許多個人休息時間。在公司附近的酒店定的房間,第二天醒來被子和枕頭仍整齊如新,就是他的工作狀態(tài)。
賽程已經(jīng)結束,但來自市場的挑戰(zhàn)和壓力卻沒有休止的那一天。夜幕落下,公司辦公室里永遠有幾盞燈在和無情的時間死磕,奔跑沒有道理,向前走是必須的。他們的優(yōu)秀沒有捷徑,只有自己內心的堅持和讓電商更簡單的初心,方能成為貫穿始終的動力源泉。
相關推薦