2019年雙11來了。1分36秒100億,5分25秒超過300億,12分49秒超500億……如果沒有雙11,中國的互聯(lián)網(wǎng)技術(shù)要發(fā)展到今天的水平,或許要再多花20年。
從雙11誕生至今的11年里,有一個(gè)場景始終在支付寶技術(shù)團(tuán)隊(duì)之中循環(huán)往復(fù)——每一年確定目標(biāo)時(shí),大家都將信將疑,或驚呼或腹誹:“不可能!太夸張了吧!”但每一年的夸張目標(biāo),到最后都能奇跡般地成為現(xiàn)實(shí)。
前一年需要拼命躍起才能夠到的果實(shí),后一年就會成為再普通不過的日常。不知不覺之間,雙11已經(jīng)從最初啟航時(shí)的小船,成為了承載數(shù)十億人快樂和夢想的巨艦。在這個(gè)舉世矚目的“奇跡工程”背后,是技術(shù)和技術(shù)人一起,十余年如一日,以難以置信的“中國速度”在不知疲倦地向前奔跑?! ?/p>
技術(shù)人的初衷往往極致單純——既然決定要做,那就全力以赴,一往無前,但當(dāng)他們一步一個(gè)腳印風(fēng)雨兼程地走來,驀然回首,就發(fā)現(xiàn)奇跡已經(jīng)在那里了。
【一】那時(shí)距離宕機(jī)只有幾十秒
2009年11月11日,對于支付寶工程師陳亮而言,本來是與往常沒有任何不同的一天。
那年還沒有支付寶大樓,更沒有Z空間,他趟過早高峰的車流,坐到華星時(shí)代廣場的工位上時(shí),一封來自CTO程立的郵件發(fā)到了他的電腦里:今天淘寶商城要搞一個(gè)促銷活動(dòng),預(yù)估交易量比較大,大家盯著點(diǎn)系統(tǒng)。
陳亮當(dāng)時(shí)所在的團(tuán)隊(duì)主要職責(zé)是保障整個(gè)系統(tǒng)的穩(wěn)定可靠。在促銷活動(dòng)的場景下,通俗地說來,就是要保障服務(wù)器“堅(jiān)挺”,別被蜂擁而來的用戶擠爆了。
淘寶商城在2009年的8月剛剛重組上線,日均交易量對于當(dāng)時(shí)的支付寶而言,要穩(wěn)穩(wěn)接住不在話下。就算搞促銷臨時(shí)出現(xiàn)洪峰,不怕,擴(kuò)容就好。
事實(shí)上也就是這么操作的。全團(tuán)隊(duì)的同學(xué)聚在辦公室里,盯著電腦屏幕,只要發(fā)現(xiàn)交易量逼近系統(tǒng)承載上限,就馬上進(jìn)行擴(kuò)容。
交易量的上漲有點(diǎn)不尋常,一片安靜的辦公室里本來只有鍵盤聲,忽然有人高喊一聲:“我秒到了!”緊接著又有人跟著喊:“我也秒到了!”辦公室里嗡地一下,熱鬧了起來。
原來有人很好奇淘寶商城究竟在做什么促銷讓交易量漲成這樣,點(diǎn)過去一看,發(fā)現(xiàn)有折扣高達(dá)50%以上的“秒殺”,忍不住出手一試。
“已經(jīng)想不起當(dāng)時(shí)究竟秒到了什么,只記得大家都特別快樂。”陳亮說。
快樂,是陳亮對于這個(gè)促銷活動(dòng)最初、也最鮮明的印象。
不過除了一整天都忙于擴(kuò)容的同學(xué)之外,當(dāng)時(shí)支付寶的大多數(shù)人都對這場促銷并無感知。“事后才知道前一天有促銷,同事說流量有點(diǎn)猛。”現(xiàn)在已成為螞蟻金服研究員的李俊奎說,運(yùn)維負(fù)責(zé)人很緊張地在第二天的復(fù)盤會議上提出“抗議”:“淘寶商城那邊在搞什么?支付量一下子提升了這么多,萬一我們提前準(zhǔn)備的量不夠,就危險(xiǎn)了。”
淘寶商城搞了什么?站在今天回頭去看,他們只是搞了一件不算很大的事:在“光棍節(jié)”當(dāng)天,聯(lián)合27個(gè)品牌做了一場促銷活動(dòng),單日GMV 5000萬。
當(dāng)時(shí)沒有任何人能夠預(yù)計(jì)這個(gè)促銷活動(dòng)日后會成長為什么模樣,不過支付寶從數(shù)據(jù)的增長之中嗅到了山雨欲來的氣息:這個(gè)活動(dòng)帶來的交易峰值超過平日的5倍,雖然這次平穩(wěn)過關(guān),但已經(jīng)逼近了當(dāng)時(shí)支付寶的承載極限。
2010年的年中剛過,支付寶就去跟淘寶商城通氣:去年那個(gè)促銷,今年還搞嗎?淘寶商城說,搞。
好漢不打無準(zhǔn)備之仗,如何籌備“雙11”被提上了支付寶每周穩(wěn)定性會議的議程。首當(dāng)其沖的是要準(zhǔn)備充足的容量。但是按多少準(zhǔn)備呢?誰都沒經(jīng)驗(yàn)。
“拍腦袋估個(gè)數(shù)據(jù),然后按預(yù)估數(shù)據(jù)乘以三去買機(jī)器,簡單粗暴。”李俊奎直言不諱。
為了檢驗(yàn)這樣拍腦袋的決策行不行,他還和團(tuán)隊(duì)一起搞了個(gè)測試:通過手動(dòng)更改配置,把多臺機(jī)器上的流量導(dǎo)到一臺機(jī)器上,測試一臺機(jī)器的能接住多大的流量。“現(xiàn)在想起來,那就是壓測最早的雛形。”
他們甚至準(zhǔn)備了一個(gè)備用的工作聯(lián)絡(luò)群。當(dāng)時(shí)還沒有釘釘,工作群都搭在旺旺上,“萬一旺旺服務(wù)器也出問題了,不能及時(shí)聯(lián)絡(luò)怎么辦?”
籌備的時(shí)間雖不長,倒也方方面面都有兼顧,“但是不管事先做了怎樣萬全的準(zhǔn)備,每年總有意外發(fā)生。”金融核心技術(shù)部工程師趙尊奎說。他當(dāng)年所在的團(tuán)隊(duì)是賬務(wù)會計(jì)組,一舉一動(dòng)都關(guān)系到錢,絲毫不容有錯(cuò)。
意外真的來了。
11日凌晨,促銷活動(dòng)剛開始不久,支付寶的賬務(wù)數(shù)據(jù)庫就容量告急。
病來如山倒。發(fā)現(xiàn)問題時(shí),狀況已經(jīng)十分危急,“只能再撐幾分鐘!”運(yùn)維心急如焚,如果不能馬上找到解決辦法,支付寶就面臨宕機(jī)風(fēng)險(xiǎn),交易鏈路一斷,誰也買不成。
怎么辦?運(yùn)維把心一橫,說,砍了會計(jì)系統(tǒng)吧,給核心的賬務(wù)系統(tǒng)騰空間。
時(shí)間已經(jīng)容不得多加斟酌,一群高管站在背后,支付寶中間件團(tuán)隊(duì)的工程師蔣濤感到前所未有地緊張,“操作的時(shí)候手都在抖。”
這個(gè)當(dāng)機(jī)立斷的決策將支付寶從距離宕機(jī)只差幾十秒的懸崖邊挽救了回來。事后的數(shù)據(jù)顯示,2010年的雙11,參與用戶達(dá)到2100萬,總GMV達(dá)到10億,是上一年的20倍,這是任何人都很難在事先預(yù)估到的漲幅。
“能想到會漲,但誰也想不到漲勢會這么猛烈。”趙尊奎說,“也就是從那年起,我們開始隱隱覺得,更猛烈的還在后頭。”
【二】代碼的分量
85后的肖涵和90后的鄭洋飛,都是在讀大學(xué)時(shí)就知道了雙11。
肖涵喜歡網(wǎng)購,09年就成了第一批嘗鮮雙11的剁手族,還在一個(gè)技術(shù)交流群里認(rèn)識了參與過雙11的支付寶工程師;鄭洋飛常買《電腦報(bào)》,那上面說2010年雙11一天的銷售額等于香港一天的零售總額,他一邊驚嘆,一邊心生向往。
“覺得好牛B,想進(jìn)去看看。”
當(dāng)年互不相識的兩個(gè)年輕人,不約而同地產(chǎn)生了這樣的想法。
肖涵在2011年加入了支付寶,那一年支付寶已經(jīng)開啟了“上半年搞建設(shè)、下半年搞大促”的模式,籌備工作從5、6月起就著手進(jìn)行,他剛一入職,就被調(diào)去開發(fā)流量接入和調(diào)撥系統(tǒng)spanner。
這個(gè)系統(tǒng)相當(dāng)于支付寶交易鏈路的第一道門戶,“好比餐廳上菜的推車。一般餐廳,一個(gè)服務(wù)員只能每次上一盤菜,但雙11的挑戰(zhàn),就是要讓一位服務(wù)員同時(shí)能上十盤菜,因此我們需要一個(gè)推車。不過業(yè)界沒有現(xiàn)成的推車能滿足支付寶的需求,我們得自己造。”
差不多一整年的時(shí)間中,肖涵和團(tuán)隊(duì)為這個(gè)項(xiàng)目廢寢忘食,spanner終于在2012年的雙11迎來了第一次大考。
誰曾想,意外又發(fā)生了。
那一年支付寶的大促監(jiān)控系統(tǒng)也已經(jīng)上線,流量曲線能夠秒級實(shí)時(shí)顯示,零點(diǎn)將近時(shí),所有人都緊盯著屏幕,翹首以盼。
——零點(diǎn)一到,流量進(jìn)來了,曲線開始增長,形成很漂亮的弧度,所有人開始?xì)g呼,但是忽然,它跌了下去,然后開始像心電圖那樣抖動(dòng)。
監(jiān)控系統(tǒng)沒有問題,也沒有報(bào)錯(cuò),為什么流量會進(jìn)不來呢?
一石激起千層浪。他所能看到的抖動(dòng),同樣實(shí)時(shí)顯示在了淘寶的作戰(zhàn)指揮室里。支付寶工程師賀巖正作為支付寶的唯一“代表”,在那里和淘寶的技術(shù)同學(xué)一起備戰(zhàn)。這是個(gè)極其考驗(yàn)心理承受能力的工作,在支付曲線發(fā)生抖動(dòng)的時(shí)刻,“淘寶的技術(shù)同學(xué)們一下子就把我圍在了中間。連問‘支付寶出什么事了’?”賀巖回憶道。
肖涵腦子里一片空白,唯一的念頭是,“不能讓交易停下。”
0:00到0:20,短短的20分鐘里,10分鐘用來定位問題,10分鐘用來解決問題;同樣在這短短的20分鐘里,外面已經(jīng)天翻地覆:“‘支付寶不能付款了’登上了微博熱搜,家人、親戚、朋友都給我打電話問是什么情況,手機(jī)都要被打爆了。”
關(guān)掉了一個(gè)健康監(jiān)控模塊之后,系統(tǒng)終于恢復(fù)了穩(wěn)定。比起緊張,肖涵感到的更是前所未有的震撼:原來自己所做的事已經(jīng)和千萬人息息相關(guān),每一點(diǎn)微小的疏漏,所影響的都是難以估量的龐大群體。
“沒有身在其中過,就很難意識到自己敲下的每一行代碼有著怎樣的分量。”鄭洋飛說。他在2013年加入支付寶實(shí)習(xí),帶他的師兄鞏杰說了一句令他印象極深的話:你看看那些客服mm,你敲代碼時(shí)仔細(xì)一點(diǎn),少出一個(gè)錯(cuò),她們就不知能少接多少個(gè)報(bào)錯(cuò)電話。
【三】架構(gòu)革命
跨過了2012年的坎兒,DBA就再三給出警告:擴(kuò)容已經(jīng)到頭了,頂多再撐幾個(gè)月,按這個(gè)增速,如果不想點(diǎn)別的辦法,肯定堅(jiān)持不到明年雙11。
禍不單行。另外的“緊箍咒”也接連落下:Oracle數(shù)據(jù)庫的連接數(shù)上限成為擴(kuò)容的瓶頸,更要命的是,由于機(jī)房的一再擴(kuò)容,杭州的電力已不足以支撐。有時(shí)候?yàn)榱吮C(jī)房供電,“大夏天的,辦公室都會停電,不得不運(yùn)冰塊過來降溫。”鞏杰苦笑著說,杭州的盛夏,誰過誰知道。
治標(biāo)的方法快要山窮水盡,必須要從治本的角度出發(fā)尋找新的解決方案,比如,從架構(gòu)層面“搞革命”,做單元化。
革命不是請客吃飯,要從架構(gòu)層面做根本性的調(diào)整,舉步維艱:一來沒有任何成功經(jīng)驗(yàn)可以借鑒,只能摸索著走;二來牽涉到眾多部門,大家需求不同,意見難免相左;三來,既然要革命,那目光必須放得更加長遠(yuǎn),不能只是為了解決今年或明年的問題,至少也要做未來三年的規(guī)劃。
與此同時(shí),在和淘寶商城——現(xiàn)在叫天貓了——溝通之后,支付寶毫不意外地定下了又一個(gè)令人驚呼“不可能”的目標(biāo):支付峰值每秒2萬筆。
事關(guān)重大,人人都很謹(jǐn)慎。“光是架構(gòu)調(diào)整的方案就討論了很久。”陳亮說,作為項(xiàng)目的架構(gòu)師,他費(fèi)了不知多少口舌去說服所有人都認(rèn)同這個(gè)方案。
重?fù)?dān)的一頭落在他的肩上,另一頭則交給了2010年抖著手化解危機(jī)的蔣濤,蔣濤更愁穩(wěn)定性問題:“做技術(shù)架構(gòu)變更的同時(shí)還得穩(wěn)住業(yè)務(wù),這件事非常復(fù)雜,技術(shù)風(fēng)險(xiǎn)也很高。”
留給他們的時(shí)間也不多了。LDC架構(gòu)的立項(xiàng)已是2012年年底,距離2013年的雙11不足一年,對于這樣浩大的工程來說,就一個(gè)字,緊。
陳亮最初構(gòu)想了一個(gè)宏大的體系,要把所有系統(tǒng)都一口氣單元化,但這個(gè)方案被程立否了:“主要問題在淘寶的交易上,先把淘寶做了。”按他的意思,哪怕先做第一期,2013年也必須上線。
一堆不可能的目標(biāo)聚集在了一起。但目標(biāo)既然定了,就只剩向前這唯一的方向。
“立項(xiàng)之后,我們幾乎每個(gè)月都做發(fā)布。”蔣濤說,這個(gè)頻率是一般項(xiàng)目開發(fā)的好幾倍,但即便如此,直到雙11之前半個(gè)月,整套系統(tǒng)才算部署完成,小錯(cuò)仍然不斷,不過,隨著越來越多的小問題和被發(fā)現(xiàn)和修正,他終于感到,“心里總算慢慢有點(diǎn)底氣了”。
2013年,支付寶LDC架構(gòu)首次在雙11亮相,支付寶也第一次派“代表”前往雙11的總指揮室——阿里巴巴西溪園區(qū)的“光明頂”。
這位“幸運(yùn)”的代表就是李俊奎。“我就是去當(dāng)‘炮灰’的。”他笑稱自己一走進(jìn)光明頂就感受到了熱烈的壓力。當(dāng)年的總指揮李津當(dāng)著全集團(tuán)幾百位工程師的面,指著大屏幕點(diǎn)名喊他:“向秀(李俊奎的花名)!你看看支付寶!”
這項(xiàng)壓力山大的任務(wù),李俊奎連做了好幾年,乃至于做出了經(jīng)驗(yàn)。“首先是不要慌,無論接到什么反饋,先說‘知道了,我看看’。因?yàn)槟阋粋€(gè)人在現(xiàn)場其實(shí)什么也做不了,你的職責(zé)其實(shí)是傳達(dá),以最快的速度,把問題傳達(dá)給后方的伙伴,然后,相信他們。”
他說這是支付寶技術(shù)團(tuán)隊(duì)的重要制勝秘訣之一:你永遠(yuǎn)都不是一個(gè)人在戰(zhàn)斗,你也無法一個(gè)人戰(zhàn)斗,但你的身后永遠(yuǎn)有最靠譜的伙伴。
至于這一年的戰(zhàn)果如何,按蔣濤的話說,“硬扛過去了”。新架構(gòu)有驚無險(xiǎn),走出了第一步。
【四】關(guān)公、靈隱寺和壓測
2013年雙11的另一個(gè)特殊之處是,支付寶的備戰(zhàn)室里多出來一幅關(guān)老爺?shù)膾飚嫛?/p>
掛畫是鄭洋飛“請”來的,不過“拜關(guān)公”作為支付寶技術(shù)團(tuán)隊(duì)的一項(xiàng)傳統(tǒng),早在他入職之前就由來已久。源頭據(jù)說要追溯到支付寶建立之初,每到重要的系統(tǒng)更新時(shí),工程師們就會在旺旺群里轉(zhuǎn)發(fā)關(guān)公表情包,以求更新順利,“別出bug”。
隔了一年之后,關(guān)公像“升級”了,有同學(xué)去西安校招時(shí)看到了關(guān)公的皮影藝術(shù)品,就“請”了一個(gè)回來放在備戰(zhàn)室。后來,程立買了一尊木質(zhì)關(guān)公像放過來,去年,副CTO胡喜又買了一尊關(guān)公銅像?! ?/p>
除了拜關(guān)公,去寺廟燒香也是例行項(xiàng)目,視目的地不同,還分為“靈隱寺派”和“法喜寺派”兩大派別。至于哪邊靈驗(yàn),說法不一,但據(jù)觀察,每年雙11過后,程立、胡喜就會親自率隊(duì)上山還愿,從支付寶大樓一路步行到上天竺法喜寺,回來的途中,還會沿途撿垃圾做公益。
技術(shù)是純粹的科學(xué)。技術(shù)人難道真的相信求神拜佛能避免系統(tǒng)故障和bug嗎?
“心理上,我覺得還是挺有用的。”陳亮說,“主要是表達(dá)對于不可預(yù)知之物的一種敬畏。雖然我們已經(jīng)做了多年技術(shù),但技術(shù)的道路上還是充滿了很多不可預(yù)知的東西。”
不可預(yù)知,構(gòu)成了工程師們每年面對雙11最大的焦慮感來源。
他們用各自的辦法緩解雙11迫近的壓力。有人是運(yùn)動(dòng)派,用跑步或打球放空大腦,有人是“強(qiáng)迫癥”派,一遍又一遍地check代碼才能安心,還有人是“吃貨”派,迎戰(zhàn)之前必定要先組團(tuán)去吃海底撈。
全程參加了過去11年全部雙11的趙尊奎,在被問到“哪年最不好搞”時(shí),秒答曰:“哪年都不好搞。”同樣“全勤”的陳亮則表示:“14年之前,我們對于雙11零點(diǎn)的信心,如果非要說一個(gè)數(shù)字的話,60%吧。”
但他很快補(bǔ)充:“不過2014年之后,這個(gè)數(shù)字就變成95%了。”
陳亮的信心,來自于當(dāng)年支付寶壓測體系的建立。這一次不再是手動(dòng)調(diào)配置測單機(jī)了,而是創(chuàng)建出仿真環(huán)境讓系統(tǒng)去跑,提前找出系統(tǒng)的問題并及時(shí)修復(fù),以免在正式戰(zhàn)場被打個(gè)措手不及。
“壓測讓雙11開始從一個(gè)不確定的事逐漸變成確定的事,它極大地改變了我們對于雙11穩(wěn)定性的保障方式。”有“壓測小王子”之稱的鄭洋飛說。
雖然2014年的壓測僅覆蓋核心系統(tǒng),但這個(gè)體系已經(jīng)幫了大忙。在雙11之前的一個(gè)月里,它至少讓一百多個(gè)致命的問題提前暴露出來。“如果其中有一個(gè)沒有修復(fù),我們2014年的雙11肯定就掛了。”陳亮說。
【五】1%?或10%?
壓測這一“壓”,既壓出和很多隱患,也壓出了一個(gè)大問題:支付寶所用的Oracle數(shù)據(jù)庫在壓測之中“抖”了起來,性能眼見得觸到了天花板。
2014正是移動(dòng)互聯(lián)網(wǎng)大爆發(fā)的年份。指數(shù)增長的移動(dòng)支付比例勢必帶來比往年更洶涌的流量峰值,Oracle肉眼可見地支撐不住了。
再買服務(wù)器?成本吃不消,而且為了應(yīng)對峰值而增添的機(jī)器,平日里沒有用武之地,完全是資源的浪費(fèi)。
還有沒有別的辦法?有的。阿里自研的分布式數(shù)據(jù)庫OceanBase,從淘寶被劃到支付寶后,已經(jīng)沉寂了兩年,正在焦急地尋找一展身手的舞臺。
但是一聽說是自研的數(shù)據(jù)庫,業(yè)務(wù)滿臉都是狐疑。跟交易和金額直接相關(guān)的數(shù)據(jù)庫,只要錯(cuò)一個(gè)數(shù)據(jù),后果就不堪設(shè)想,別說雙11這么大的流量,即使平日,要不要用這個(gè)沒經(jīng)過驗(yàn)證的產(chǎn)品,也頗要斟酌一番。
先切1%的流量給OceanBase試試吧。這是大家爭論了好一陣后得出的方案。
但是Oracle在壓測中的表現(xiàn)顯示,缺口不止1%,而是10%。
OceanBase說,我們來承接這10%。
10%,聽起來不多,但雙11的10%,相當(dāng)于平日里的最高峰值。如果OceanBase能平安無事地接住這10%,就意味著它可以擔(dān)起支撐支付寶日常運(yùn)行的重任。
OceanBase必須證明自己有這樣的能力。“我們找了淘寶的同學(xué),協(xié)調(diào)了很多資源做了一個(gè)測試,主要校驗(yàn)淘寶訂單的金額和支付寶交易金額是否能吻合。”DBA團(tuán)隊(duì)的工程師師文匯說,當(dāng)時(shí)的方案很謹(jǐn)慎,如果OceanBase出現(xiàn)了問題,隨時(shí)都可以切回來。
測試結(jié)果,OceanBase沒有錯(cuò)漏一個(gè)數(shù)據(jù)。程立當(dāng)即拍了板:10%都切給你們。
這個(gè)決定成就了OceanBase在雙11的首秀,“相當(dāng)于Oracle和魯肅(程立的花名)都幫了我們一把。”師文匯笑著說。
這時(shí)距離2014年的雙11,時(shí)間已經(jīng)不足兩周??煽啃噪m然經(jīng)受住了考驗(yàn),但OceanBase畢竟是個(gè)誕生才四年的年輕數(shù)據(jù)庫,小問題層出不窮,比如響應(yīng)時(shí)間長達(dá)10毫秒,比Oracle差了好幾個(gè)數(shù)量級。最后十來天,師文匯和全團(tuán)隊(duì)的同學(xué)一起,硬是把它優(yōu)化到了1毫秒以下。
“做了這么些年,對它的容量和性能還是比較有信心的。”師文匯說。
他說得輕描淡寫,但在這個(gè)曾經(jīng)面臨團(tuán)隊(duì)解散項(xiàng)目取消的產(chǎn)品身上,他和整個(gè)團(tuán)隊(duì)一起傾注了多少心血,除了他們自己之外,誰也說不清楚。
OceanBase最初并不是為雙11而做的,但在雙11這個(gè)舞臺上,它第一次獲得了聚光燈下的位置,并且表現(xiàn)卓越,從此,支付寶開啟了核心交易系統(tǒng)完全搬遷上OceanBase的進(jìn)程。
到今年,OceanBase對內(nèi)100%承載螞蟻業(yè)務(wù)的流量。對外,在被譽(yù)為“數(shù)據(jù)庫領(lǐng)域世界杯”的TPC-C基準(zhǔn)測試中,打破了由美國公司Oracle(甲骨文)保持了9年之久的世界紀(jì)錄,成為首個(gè)登頂該榜單的中國數(shù)據(jù)庫產(chǎn)品。
點(diǎn)擊鏈接觀看《使命必達(dá)——OceanBase登頂TPC-C測試》https://v.qq.com/x/page/l3019boh97i.html
【六】我贏了一只apple watch
2015年,李俊奎去拜訪了上海證券交易所,那里的交易系統(tǒng)部署在6臺大型計(jì)算機(jī)上,交易峰值能達(dá)到每秒10萬筆。
他大為驚嘆:10萬筆!何等高不可攀的數(shù)字!什么時(shí)候支付寶也能達(dá)到就好了!
回到杭州,他馬上與同學(xué)們分享了這次見聞,結(jié)果同學(xué)們告訴他說,今年我們的目標(biāo)就要超過每秒10萬筆了。
李俊奎一想,這種一聽就不可能的目標(biāo),是支付寶的作風(fēng),沒毛病。
與此同時(shí),鄭洋飛則在為這個(gè)目標(biāo)頭痛不已。他剛剛跟他的主管打了一個(gè)賭,賭的是他作為2015年雙11全鏈路壓測的負(fù)責(zé)人,能不能保障雙11的支付不出任何問題。賭注是一只apple watch。
這一年是90后的鄭洋飛第一次挑大梁,從雙11的參與者轉(zhuǎn)換角色成為一個(gè)項(xiàng)目的主導(dǎo)者。但這一年也是他和團(tuán)隊(duì)都“忍辱負(fù)重”的一年,上半年,因?yàn)轭l繁不斷的可用率問題,他們做穩(wěn)定性的團(tuán)隊(duì)也在頻繁遭受打擊,士氣不振,不少同學(xué)選擇了離開,內(nèi)外的質(zhì)疑聲也接連不斷,那幾個(gè)月,空氣里都仿佛寫滿了“難熬”二字。
“當(dāng)時(shí)團(tuán)隊(duì)沒幾個(gè)人了,但是人人都憋著一口氣,想著一定要把雙11這個(gè)事情搞好。”鄭洋飛說,“就是不想讓人覺得支付寶不行。”
局面有如背水一戰(zhàn),如果失敗了,想要“翻盤雪恥”就要再等一年。因?yàn)殡p11每年只有一次,不僅是一年一度的大考,更是一年一度的舞臺。按照系統(tǒng)部資深技術(shù)專家楊海悌的說法,“人人都想把自己一年的努力拿到雙11去驗(yàn)證和展示,不讓上還不高興。”
跟2014年的全鏈路壓測比起來,2015年主要要做幾個(gè)方面大刀闊斧的改進(jìn):一是要從核心系統(tǒng)擴(kuò)展到全部系統(tǒng),二是要平臺化,也就是打造一個(gè)全鏈路壓測的平臺工具,三是要跟整個(gè)集團(tuán)的壓測打通聯(lián)動(dòng)。
“老實(shí)說,非常忐忑。”鄭洋飛心里沒底。
當(dāng)雙11零點(diǎn)的洪峰撲面而來時(shí),他已經(jīng)忘掉了apple watch這回事。有一個(gè)壓測沒驗(yàn)證到的數(shù)據(jù)庫定時(shí)任務(wù),讓曲線看上去不那么平滑。“穩(wěn)定壓倒一切”的宗旨之下,系統(tǒng)只要一抖,整個(gè)團(tuán)隊(duì)的心也跟著抖了起來。迅速排查的結(jié)果是,系統(tǒng)整體沒出問題,但壓測遺漏的一些細(xì)節(jié),讓結(jié)果不是那么完美。
“曲線不是特別好看。”他不無遺憾地說。
鄭洋飛最終贏得了這只apple watch,但對于他而言,除了獎(jiǎng)品之外,這只apple watch更有了別樣的意義,時(shí)刻提醒他即使做了再充分的準(zhǔn)備,也沒有萬無一失。
【七】對“絲般順滑”的追求永無止境
其實(shí)每一位支付寶工程師的心中,都有一條的“完美曲線”。
理想之中,它應(yīng)該是這樣的:雙11零點(diǎn),洪峰來了,曲線漂亮地攀升,沒有驟升驟降,不要用頻繁的抖動(dòng)去折磨大家脆弱的神經(jīng)。
如果要濃縮成一個(gè)詞,那就是“絲般順滑”。
但是,每一次為此而做的技術(shù)演進(jìn)和架構(gòu)變更進(jìn)行到一定階段,“你都會發(fā)現(xiàn)一開始可能設(shè)想得非常美好,但到了一定的規(guī)模之后,挑戰(zhàn)就接二連三地來了。”楊海悌感嘆道,“量變產(chǎn)生質(zhì)變,這句話不是虛的。”
雙11的“量”,早已一騎絕塵地進(jìn)入前所未有的領(lǐng)域,2016年雙11僅用了6個(gè)多小時(shí),交易額就已超過2014年全天。這些年以來,都是自己在不斷刷新自己的紀(jì)錄。
在這樣的量之下保障穩(wěn)定,難度不止提高了一個(gè)數(shù)量級。
還記得2012年底制定的架構(gòu)革命之“三年計(jì)劃”嗎?它真的持續(xù)了三年,這場最初是為了解決數(shù)據(jù)庫連接數(shù)和機(jī)房限制而進(jìn)行的架構(gòu)革命,在三年的演進(jìn)過程中,又衍生出很多其他的架構(gòu),比如異地多活、容災(zāi),彈性的容量調(diào)度等,直到2016年,才算全部落地。這之中每一步的演進(jìn),都是為了讓系統(tǒng)具備動(dòng)態(tài)擴(kuò)容能力,能夠順滑地進(jìn)行彈性的擴(kuò)展和伸縮。
“大”是考驗(yàn),“小”也是考驗(yàn)。
師文匯體會最深刻的瞬間,不是2014年OceanBase一舉成名的時(shí)刻,而是2016年一次小小的測試。在這個(gè)測試?yán)?,他發(fā)現(xiàn)了一個(gè)指標(biāo)有一點(diǎn)異常——非常不起眼,2毫秒的偏差。
“2毫秒而已,如果在別的地方,很可能就會被判斷為無關(guān)緊要,然后漏過了。”但他的團(tuán)隊(duì)中的一位小伙伴,非常認(rèn)真地去檢查了這個(gè)問題——萬幸如此。后來事實(shí)證明如果不解決這個(gè)問題,那年的雙11就會有大麻煩。
“即使資源不足、時(shí)間緊張、軟件有各種不完善的地方,但我們的小伙伴不會放過任何一個(gè)問題。”師文匯感慨。
早些年,流量曾是實(shí)現(xiàn)完美曲線最主要的挑戰(zhàn),但是越到后來,隨著業(yè)務(wù)的不斷拓展,工程師們越來越清楚地認(rèn)識到,穩(wěn)定壓倒一切不假,但技術(shù)更要著眼于未來。
2017年,是賀巖加入支付寶的第九年。這一年支付寶實(shí)現(xiàn)了離線在線混布,離線任務(wù)的大量閑置資源可以被用于在線任務(wù),從而大大提升了資源的利用率。
“在一些小的場景中,這種效率提升能帶來的節(jié)約可能不那么突出,但在我們這樣的體量上,它所帶來的就是不可估量的一整個(gè)未來。”賀巖說。
有了前人積淀這么多年的基礎(chǔ),面向未來的路,就越走越順利了起來。
2018年雙11,支付寶其實(shí)保障了兩個(gè)大促,天貓的大促,和支付寶自己的“碼上雙11”等玩法。這一年的故障數(shù)比前一年下降了70-80%,首次實(shí)現(xiàn)大促全天平穩(wěn)。
大隊(duì)長李錚非常淡定:“說白了,就是我們把各種風(fēng)險(xiǎn)通過系統(tǒng)化或工程化的流程,控制得比較好。峰值出現(xiàn)的過程,也都在我們的預(yù)期之內(nèi)。”
2019,則是雙11的“云原生”元年。
如果說技術(shù)是像疊積木那樣一層一層累積起來的,那云原生就是最下面的基礎(chǔ),打好了這層基礎(chǔ),上層的應(yīng)用就像是站在了巨人的肩膀上,生來就具備了一系列強(qiáng)大的能力。業(yè)務(wù)無需再過多地?fù)?dān)憂技術(shù)問題,只需要專注于業(yè)務(wù)代碼即可。
【八】點(diǎn)亮全世界
故事講到這里,不知大家是否還記得,當(dāng)年因?yàn)槊棵雰扇f筆的峰值目標(biāo)而驚呼“不可能”的同學(xué)們。
當(dāng)年,每秒兩萬筆是他們舉全體之力奮斗半年才能沖上的高峰,而去年,每秒兩萬筆已經(jīng)成為支付寶再日常不過的狀況,隨隨便便,一秒鐘的事。
這樣的巨變真實(shí)發(fā)生了,只是身處當(dāng)時(shí)當(dāng)?shù)?,誰也沒有想那么多。幾乎每一位工程師都表示:“每年搞完雙11,下一年的目標(biāo)就出來了,然后我們就為著下一年的目標(biāo)去進(jìn)行相應(yīng)的準(zhǔn)備和努力。”
一個(gè)目標(biāo),又一個(gè)目標(biāo),在征服一個(gè)又一個(gè)“不可能”的過程中,曾經(jīng)以為遙不可及的標(biāo)高,都一一被甩到身后。當(dāng)年高不可攀的每秒10萬筆,今天看來不過小菜一碟。
只有當(dāng)回頭的時(shí)候才有所感覺,在某一天忽然發(fā)現(xiàn),原來已經(jīng)走出了那么遠(yuǎn),原來已經(jīng)攀登到了那么高的地方。
而當(dāng)年那些驚呼不可能卻又拼命將不可能變成現(xiàn)實(shí)的年輕人,已經(jīng)紛紛長大,他們現(xiàn)在有著更多的從容淡定,上限在哪里沒人知道,更大的可能是,沒有上限?! ?/p>
流量數(shù)據(jù)的增長也早已不是雙11技術(shù)保障的全部。更多復(fù)雜的業(yè)務(wù)和玩法,在技術(shù)的成果之中生長起來,反過來又為技術(shù)的發(fā)展提供動(dòng)力。走出雙11,它們還能走入很多的場景:新年紅包、五福集卡……
——或者走出支付寶和阿里巴巴。
那些由支付寶的工程師們創(chuàng)下的奇跡,正一一變成產(chǎn)品,服務(wù)更多的金融機(jī)構(gòu)。至今已有數(shù)十家銀行和金融機(jī)構(gòu)用上了OceanBase,壓測平臺、云原生等技術(shù)也紛紛走向產(chǎn)品化,支付寶通過歷年雙11沉淀下的技術(shù)和經(jīng)驗(yàn),正在拉動(dòng)整個(gè)中國的互聯(lián)網(wǎng)金融科技一起飛奔。
——或者走向全世界。
雙11早已不僅是中國的雙11,而是成為了一場全球的狂歡。與雙11一起,技術(shù)也在走向全世界。
“不過要是說到我們的理想,那就是將來某一年雙11,整個(gè)備戰(zhàn)室空空蕩蕩,除了關(guān)公像之外,不需要有任何同學(xué)留守,智能化的系統(tǒng)能搞定一切問題,而我們只需要捧著茶杯或喝著酒,看著絲般順滑的曲線。”
對于鞏杰所展望的這種未來,現(xiàn)場就有同學(xué)笑了。“不可能吧!?”每年雙11都如同打仗一般,救兵如救火。
但是誰說不可能呢?畢竟,他們是那樣一群已經(jīng)把太多的不可能變?yōu)楝F(xiàn)實(shí)的人。
- 為什么年輕人不愛換手機(jī)了
- 柔宇科技未履行金額近億元被曝已6個(gè)月發(fā)不出工資
- 柔宇科技被曝已6個(gè)月發(fā)不出工資 公司回應(yīng)欠薪有補(bǔ)償方案
- 第六座“綠動(dòng)未來”環(huán)保公益圖書館落地貴州山區(qū)小學(xué)
- 窺見“新紀(jì)元”,2021元宇宙產(chǎn)業(yè)發(fā)展高峰論壇“廣州啟幕”
- 以人為本,景悅科技解讀智慧城市發(fā)展新理念
- 紐迪瑞科技/NDT賦能黑鯊4 Pro游戲手機(jī)打造全新一代屏幕壓感
- 清潔家電新老玩家市場定位清晰,攜手共進(jìn),核心技術(shù)決定未來
- 新思科技與芯耀輝在IP產(chǎn)品領(lǐng)域達(dá)成戰(zhàn)略合作伙伴關(guān)系
- 芯耀輝加速全球化部署,任命原Intel高管出任全球總裁
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。