萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能

2019年雙11來了。1分36秒100億,5分25秒超過300億,12分49秒超500億……如果沒有雙11,中國的互聯(lián)網(wǎng)技術(shù)要發(fā)展到今天的水平,或許要再多花20年?! ?/p>

萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能

從雙11誕生至今的11年里,有一個場景始終在支付寶技術(shù)團隊之中循環(huán)往復(fù)——每一年確定目標(biāo)時,大家都將信將疑,或驚呼或腹誹:“不可能!太夸張了吧!”但每一年的夸張目標(biāo),到最后都能奇跡般地成為現(xiàn)實。

前一年需要拼命躍起才能夠到的果實,后一年就會成為再普通不過的日常。不知不覺之間,雙11已經(jīng)從最初啟航時的小船,成為了承載數(shù)十億人快樂和夢想的巨艦。在這個舉世矚目的“奇跡工程”背后,是技術(shù)和技術(shù)人一起,十余年如一日,以難以置信的“中國速度”在不知疲倦地向前奔跑。  

萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能

技術(shù)人的初衷往往極致單純——既然決定要做,那就全力以赴,一往無前,但當(dāng)他們一步一個腳印風(fēng)雨兼程地走來,驀然回首,就發(fā)現(xiàn)奇跡已經(jīng)在那里了。

【一】那時距離宕機只有幾十秒

2009年11月11日,對于支付寶工程師陳亮而言,本來是與往常沒有任何不同的一天。

那年還沒有支付寶大樓,更沒有Z空間,他趟過早高峰的車流,坐到華星時代廣場的工位上時,一封來自CTO程立的郵件發(fā)到了他的電腦里:今天淘寶商城要搞一個促銷活動,預(yù)估交易量比較大,大家盯著點系統(tǒng)。

陳亮當(dāng)時所在的團隊主要職責(zé)是保障整個系統(tǒng)的穩(wěn)定可靠。在促銷活動的場景下,通俗地說來,就是要保障服務(wù)器“堅挺”,別被蜂擁而來的用戶擠爆了。

淘寶商城在2009年的8月剛剛重組上線,日均交易量對于當(dāng)時的支付寶而言,要穩(wěn)穩(wěn)接住不在話下。就算搞促銷臨時出現(xiàn)洪峰,不怕,擴容就好。

事實上也就是這么操作的。全團隊的同學(xué)聚在辦公室里,盯著電腦屏幕,只要發(fā)現(xiàn)交易量逼近系統(tǒng)承載上限,就馬上進行擴容。

交易量的上漲有點不尋常,一片安靜的辦公室里本來只有鍵盤聲,忽然有人高喊一聲:“我秒到了!”緊接著又有人跟著喊:“我也秒到了!”辦公室里嗡地一下,熱鬧了起來。

原來有人很好奇淘寶商城究竟在做什么促銷讓交易量漲成這樣,點過去一看,發(fā)現(xiàn)有折扣高達50%以上的“秒殺”,忍不住出手一試。

“已經(jīng)想不起當(dāng)時究竟秒到了什么,只記得大家都特別快樂。”陳亮說。

快樂,是陳亮對于這個促銷活動最初、也最鮮明的印象。

不過除了一整天都忙于擴容的同學(xué)之外,當(dāng)時支付寶的大多數(shù)人都對這場促銷并無感知。“事后才知道前一天有促銷,同事說流量有點猛。”現(xiàn)在已成為螞蟻金服研究員的李俊奎說,運維負責(zé)人很緊張地在第二天的復(fù)盤會議上提出“抗議”:“淘寶商城那邊在搞什么?支付量一下子提升了這么多,萬一我們提前準(zhǔn)備的量不夠,就危險了。”

淘寶商城搞了什么?站在今天回頭去看,他們只是搞了一件不算很大的事:在“光棍節(jié)”當(dāng)天,聯(lián)合27個品牌做了一場促銷活動,單日GMV 5000萬。

當(dāng)時沒有任何人能夠預(yù)計這個促銷活動日后會成長為什么模樣,不過支付寶從數(shù)據(jù)的增長之中嗅到了山雨欲來的氣息:這個活動帶來的交易峰值超過平日的5倍,雖然這次平穩(wěn)過關(guān),但已經(jīng)逼近了當(dāng)時支付寶的承載極限。

2010年的年中剛過,支付寶就去跟淘寶商城通氣:去年那個促銷,今年還搞嗎?淘寶商城說,搞。

好漢不打無準(zhǔn)備之仗,如何籌備“雙11”被提上了支付寶每周穩(wěn)定性會議的議程。首當(dāng)其沖的是要準(zhǔn)備充足的容量。但是按多少準(zhǔn)備呢?誰都沒經(jīng)驗。

“拍腦袋估個數(shù)據(jù),然后按預(yù)估數(shù)據(jù)乘以三去買機器,簡單粗暴。”李俊奎直言不諱。

為了檢驗這樣拍腦袋的決策行不行,他還和團隊一起搞了個測試:通過手動更改配置,把多臺機器上的流量導(dǎo)到一臺機器上,測試一臺機器的能接住多大的流量。“現(xiàn)在想起來,那就是壓測最早的雛形。”

他們甚至準(zhǔn)備了一個備用的工作聯(lián)絡(luò)群。當(dāng)時還沒有釘釘,工作群都搭在旺旺上,“萬一旺旺服務(wù)器也出問題了,不能及時聯(lián)絡(luò)怎么辦?”

籌備的時間雖不長,倒也方方面面都有兼顧,“但是不管事先做了怎樣萬全的準(zhǔn)備,每年總有意外發(fā)生。”金融核心技術(shù)部工程師趙尊奎說。他當(dāng)年所在的團隊是賬務(wù)會計組,一舉一動都關(guān)系到錢,絲毫不容有錯。

意外真的來了。

11日凌晨,促銷活動剛開始不久,支付寶的賬務(wù)數(shù)據(jù)庫就容量告急。

病來如山倒。發(fā)現(xiàn)問題時,狀況已經(jīng)十分危急,“只能再撐幾分鐘!”運維心急如焚,如果不能馬上找到解決辦法,支付寶就面臨宕機風(fēng)險,交易鏈路一斷,誰也買不成。

怎么辦?運維把心一橫,說,砍了會計系統(tǒng)吧,給核心的賬務(wù)系統(tǒng)騰空間。

時間已經(jīng)容不得多加斟酌,一群高管站在背后,支付寶中間件團隊的工程師蔣濤感到前所未有地緊張,“操作的時候手都在抖。”

這個當(dāng)機立斷的決策將支付寶從距離宕機只差幾十秒的懸崖邊挽救了回來。事后的數(shù)據(jù)顯示,2010年的雙11,參與用戶達到2100萬,總GMV達到10億,是上一年的20倍,這是任何人都很難在事先預(yù)估到的漲幅。

“能想到會漲,但誰也想不到漲勢會這么猛烈。”趙尊奎說,“也就是從那年起,我們開始隱隱覺得,更猛烈的還在后頭。”

【二】代碼的分量

85后的肖涵和90后的鄭洋飛,都是在讀大學(xué)時就知道了雙11。

肖涵喜歡網(wǎng)購,09年就成了第一批嘗鮮雙11的剁手族,還在一個技術(shù)交流群里認識了參與過雙11的支付寶工程師;鄭洋飛常買《電腦報》,那上面說2010年雙11一天的銷售額等于香港一天的零售總額,他一邊驚嘆,一邊心生向往。

“覺得好牛B,想進去看看。”

當(dāng)年互不相識的兩個年輕人,不約而同地產(chǎn)生了這樣的想法。

肖涵在2011年加入了支付寶,那一年支付寶已經(jīng)開啟了“上半年搞建設(shè)、下半年搞大促”的模式,籌備工作從5、6月起就著手進行,他剛一入職,就被調(diào)去開發(fā)流量接入和調(diào)撥系統(tǒng)spanner。

這個系統(tǒng)相當(dāng)于支付寶交易鏈路的第一道門戶,“好比餐廳上菜的推車。一般餐廳,一個服務(wù)員只能每次上一盤菜,但雙11的挑戰(zhàn),就是要讓一位服務(wù)員同時能上十盤菜,因此我們需要一個推車。不過業(yè)界沒有現(xiàn)成的推車能滿足支付寶的需求,我們得自己造。”

差不多一整年的時間中,肖涵和團隊為這個項目廢寢忘食,spanner終于在2012年的雙11迎來了第一次大考。

誰曾想,意外又發(fā)生了。

那一年支付寶的大促監(jiān)控系統(tǒng)也已經(jīng)上線,流量曲線能夠秒級實時顯示,零點將近時,所有人都緊盯著屏幕,翹首以盼。

——零點一到,流量進來了,曲線開始增長,形成很漂亮的弧度,所有人開始歡呼,但是忽然,它跌了下去,然后開始像心電圖那樣抖動。

監(jiān)控系統(tǒng)沒有問題,也沒有報錯,為什么流量會進不來呢?

一石激起千層浪。他所能看到的抖動,同樣實時顯示在了淘寶的作戰(zhàn)指揮室里。支付寶工程師賀巖正作為支付寶的唯一“代表”,在那里和淘寶的技術(shù)同學(xué)一起備戰(zhàn)。這是個極其考驗心理承受能力的工作,在支付曲線發(fā)生抖動的時刻,“淘寶的技術(shù)同學(xué)們一下子就把我圍在了中間。連問‘支付寶出什么事了’?”賀巖回憶道。

肖涵腦子里一片空白,唯一的念頭是,“不能讓交易停下。”

0:00到0:20,短短的20分鐘里,10分鐘用來定位問題,10分鐘用來解決問題;同樣在這短短的20分鐘里,外面已經(jīng)天翻地覆:“‘支付寶不能付款了’登上了微博熱搜,家人、親戚、朋友都給我打電話問是什么情況,手機都要被打爆了。”

關(guān)掉了一個健康監(jiān)控模塊之后,系統(tǒng)終于恢復(fù)了穩(wěn)定。比起緊張,肖涵感到的更是前所未有的震撼:原來自己所做的事已經(jīng)和千萬人息息相關(guān),每一點微小的疏漏,所影響的都是難以估量的龐大群體。

“沒有身在其中過,就很難意識到自己敲下的每一行代碼有著怎樣的分量。”鄭洋飛說。他在2013年加入支付寶實習(xí),帶他的師兄鞏杰說了一句令他印象極深的話:你看看那些客服mm,你敲代碼時仔細一點,少出一個錯,她們就不知能少接多少個報錯電話。

【三】架構(gòu)革命

跨過了2012年的坎兒,DBA就再三給出警告:擴容已經(jīng)到頭了,頂多再撐幾個月,按這個增速,如果不想點別的辦法,肯定堅持不到明年雙11。

禍不單行。另外的“緊箍咒”也接連落下:Oracle數(shù)據(jù)庫的連接數(shù)上限成為擴容的瓶頸,更要命的是,由于機房的一再擴容,杭州的電力已不足以支撐。有時候為了保機房供電,“大夏天的,辦公室都會停電,不得不運冰塊過來降溫。”鞏杰苦笑著說,杭州的盛夏,誰過誰知道。

治標(biāo)的方法快要山窮水盡,必須要從治本的角度出發(fā)尋找新的解決方案,比如,從架構(gòu)層面“搞革命”,做單元化。

革命不是請客吃飯,要從架構(gòu)層面做根本性的調(diào)整,舉步維艱:一來沒有任何成功經(jīng)驗可以借鑒,只能摸索著走;二來牽涉到眾多部門,大家需求不同,意見難免相左;三來,既然要革命,那目光必須放得更加長遠,不能只是為了解決今年或明年的問題,至少也要做未來三年的規(guī)劃。

與此同時,在和淘寶商城——現(xiàn)在叫天貓了——溝通之后,支付寶毫不意外地定下了又一個令人驚呼“不可能”的目標(biāo):支付峰值每秒2萬筆。

事關(guān)重大,人人都很謹慎。“光是架構(gòu)調(diào)整的方案就討論了很久。”陳亮說,作為項目的架構(gòu)師,他費了不知多少口舌去說服所有人都認同這個方案。

重擔(dān)的一頭落在他的肩上,另一頭則交給了2010年抖著手化解危機的蔣濤,蔣濤更愁穩(wěn)定性問題:“做技術(shù)架構(gòu)變更的同時還得穩(wěn)住業(yè)務(wù),這件事非常復(fù)雜,技術(shù)風(fēng)險也很高。”

留給他們的時間也不多了。LDC架構(gòu)的立項已是2012年年底,距離2013年的雙11不足一年,對于這樣浩大的工程來說,就一個字,緊。

陳亮最初構(gòu)想了一個宏大的體系,要把所有系統(tǒng)都一口氣單元化,但這個方案被程立否了:“主要問題在淘寶的交易上,先把淘寶做了。”按他的意思,哪怕先做第一期,2013年也必須上線。

一堆不可能的目標(biāo)聚集在了一起。但目標(biāo)既然定了,就只剩向前這唯一的方向。

“立項之后,我們幾乎每個月都做發(fā)布。”蔣濤說,這個頻率是一般項目開發(fā)的好幾倍,但即便如此,直到雙11之前半個月,整套系統(tǒng)才算部署完成,小錯仍然不斷,不過,隨著越來越多的小問題和被發(fā)現(xiàn)和修正,他終于感到,“心里總算慢慢有點底氣了”。

2013年,支付寶LDC架構(gòu)首次在雙11亮相,支付寶也第一次派“代表”前往雙11的總指揮室——阿里巴巴西溪園區(qū)的“光明頂”。

這位“幸運”的代表就是李俊奎。“我就是去當(dāng)‘炮灰’的。”他笑稱自己一走進光明頂就感受到了熱烈的壓力。當(dāng)年的總指揮李津當(dāng)著全集團幾百位工程師的面,指著大屏幕點名喊他:“向秀(李俊奎的花名)!你看看支付寶!”

這項壓力山大的任務(wù),李俊奎連做了好幾年,乃至于做出了經(jīng)驗。“首先是不要慌,無論接到什么反饋,先說‘知道了,我看看’。因為你一個人在現(xiàn)場其實什么也做不了,你的職責(zé)其實是傳達,以最快的速度,把問題傳達給后方的伙伴,然后,相信他們。”  

萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能

他說這是支付寶技術(shù)團隊的重要制勝秘訣之一:你永遠都不是一個人在戰(zhàn)斗,你也無法一個人戰(zhàn)斗,但你的身后永遠有最靠譜的伙伴。

至于這一年的戰(zhàn)果如何,按蔣濤的話說,“硬扛過去了”。新架構(gòu)有驚無險,走出了第一步。

【四】關(guān)公、靈隱寺和壓測

2013年雙11的另一個特殊之處是,支付寶的備戰(zhàn)室里多出來一幅關(guān)老爺?shù)膾飚嫛?/p>

掛畫是鄭洋飛“請”來的,不過“拜關(guān)公”作為支付寶技術(shù)團隊的一項傳統(tǒng),早在他入職之前就由來已久。源頭據(jù)說要追溯到支付寶建立之初,每到重要的系統(tǒng)更新時,工程師們就會在旺旺群里轉(zhuǎn)發(fā)關(guān)公表情包,以求更新順利,“別出bug”。

隔了一年之后,關(guān)公像“升級”了,有同學(xué)去西安校招時看到了關(guān)公的皮影藝術(shù)品,就“請”了一個回來放在備戰(zhàn)室。后來,程立買了一尊木質(zhì)關(guān)公像放過來,去年,副CTO胡喜又買了一尊關(guān)公銅像?! ?/p>

萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能

除了拜關(guān)公,去寺廟燒香也是例行項目,視目的地不同,還分為“靈隱寺派”和“法喜寺派”兩大派別。至于哪邊靈驗,說法不一,但據(jù)觀察,每年雙11過后,程立、胡喜就會親自率隊上山還愿,從支付寶大樓一路步行到上天竺法喜寺,回來的途中,還會沿途撿垃圾做公益。

技術(shù)是純粹的科學(xué)。技術(shù)人難道真的相信求神拜佛能避免系統(tǒng)故障和bug嗎?

“心理上,我覺得還是挺有用的。”陳亮說,“主要是表達對于不可預(yù)知之物的一種敬畏。雖然我們已經(jīng)做了多年技術(shù),但技術(shù)的道路上還是充滿了很多不可預(yù)知的東西。”

不可預(yù)知,構(gòu)成了工程師們每年面對雙11最大的焦慮感來源。

他們用各自的辦法緩解雙11迫近的壓力。有人是運動派,用跑步或打球放空大腦,有人是“強迫癥”派,一遍又一遍地check代碼才能安心,還有人是“吃貨”派,迎戰(zhàn)之前必定要先組團去吃海底撈。

全程參加了過去11年全部雙11的趙尊奎,在被問到“哪年最不好搞”時,秒答曰:“哪年都不好搞。”同樣“全勤”的陳亮則表示:“14年之前,我們對于雙11零點的信心,如果非要說一個數(shù)字的話,60%吧。”

但他很快補充:“不過2014年之后,這個數(shù)字就變成95%了。”

陳亮的信心,來自于當(dāng)年支付寶壓測體系的建立。這一次不再是手動調(diào)配置測單機了,而是創(chuàng)建出仿真環(huán)境讓系統(tǒng)去跑,提前找出系統(tǒng)的問題并及時修復(fù),以免在正式戰(zhàn)場被打個措手不及。

“壓測讓雙11開始從一個不確定的事逐漸變成確定的事,它極大地改變了我們對于雙11穩(wěn)定性的保障方式。”有“壓測小王子”之稱的鄭洋飛說。

雖然2014年的壓測僅覆蓋核心系統(tǒng),但這個體系已經(jīng)幫了大忙。在雙11之前的一個月里,它至少讓一百多個致命的問題提前暴露出來。“如果其中有一個沒有修復(fù),我們2014年的雙11肯定就掛了。”陳亮說。

【五】1%?或10%?

壓測這一“壓”,既壓出和很多隱患,也壓出了一個大問題:支付寶所用的Oracle數(shù)據(jù)庫在壓測之中“抖”了起來,性能眼見得觸到了天花板。

2014正是移動互聯(lián)網(wǎng)大爆發(fā)的年份。指數(shù)增長的移動支付比例勢必帶來比往年更洶涌的流量峰值,Oracle肉眼可見地支撐不住了。

再買服務(wù)器?成本吃不消,而且為了應(yīng)對峰值而增添的機器,平日里沒有用武之地,完全是資源的浪費。

還有沒有別的辦法?有的。阿里自研的分布式數(shù)據(jù)庫OceanBase,從淘寶被劃到支付寶后,已經(jīng)沉寂了兩年,正在焦急地尋找一展身手的舞臺。

但是一聽說是自研的數(shù)據(jù)庫,業(yè)務(wù)滿臉都是狐疑。跟交易和金額直接相關(guān)的數(shù)據(jù)庫,只要錯一個數(shù)據(jù),后果就不堪設(shè)想,別說雙11這么大的流量,即使平日,要不要用這個沒經(jīng)過驗證的產(chǎn)品,也頗要斟酌一番。

先切1%的流量給OceanBase試試吧。這是大家爭論了好一陣后得出的方案。

但是Oracle在壓測中的表現(xiàn)顯示,缺口不止1%,而是10%。

OceanBase說,我們來承接這10%。

10%,聽起來不多,但雙11的10%,相當(dāng)于平日里的最高峰值。如果OceanBase能平安無事地接住這10%,就意味著它可以擔(dān)起支撐支付寶日常運行的重任。

OceanBase必須證明自己有這樣的能力。“我們找了淘寶的同學(xué),協(xié)調(diào)了很多資源做了一個測試,主要校驗淘寶訂單的金額和支付寶交易金額是否能吻合。”DBA團隊的工程師師文匯說,當(dāng)時的方案很謹慎,如果OceanBase出現(xiàn)了問題,隨時都可以切回來。

測試結(jié)果,OceanBase沒有錯漏一個數(shù)據(jù)。程立當(dāng)即拍了板:10%都切給你們。

這個決定成就了OceanBase在雙11的首秀,“相當(dāng)于Oracle和魯肅(程立的花名)都幫了我們一把。”師文匯笑著說。

這時距離2014年的雙11,時間已經(jīng)不足兩周??煽啃噪m然經(jīng)受住了考驗,但OceanBase畢竟是個誕生才四年的年輕數(shù)據(jù)庫,小問題層出不窮,比如響應(yīng)時間長達10毫秒,比Oracle差了好幾個數(shù)量級。最后十來天,師文匯和全團隊的同學(xué)一起,硬是把它優(yōu)化到了1毫秒以下。

“做了這么些年,對它的容量和性能還是比較有信心的。”師文匯說。

他說得輕描淡寫,但在這個曾經(jīng)面臨團隊解散項目取消的產(chǎn)品身上,他和整個團隊一起傾注了多少心血,除了他們自己之外,誰也說不清楚。

OceanBase最初并不是為雙11而做的,但在雙11這個舞臺上,它第一次獲得了聚光燈下的位置,并且表現(xiàn)卓越,從此,支付寶開啟了核心交易系統(tǒng)完全搬遷上OceanBase的進程。

到今年,OceanBase對內(nèi)100%承載螞蟻業(yè)務(wù)的流量。對外,在被譽為“數(shù)據(jù)庫領(lǐng)域世界杯”的TPC-C基準(zhǔn)測試中,打破了由美國公司Oracle(甲骨文)保持了9年之久的世界紀(jì)錄,成為首個登頂該榜單的中國數(shù)據(jù)庫產(chǎn)品。

點擊鏈接觀看《使命必達——OceanBase登頂TPC-C測試》https://v.qq.com/x/page/l3019boh97i.html

【六】我贏了一只apple watch

2015年,李俊奎去拜訪了上海證券交易所,那里的交易系統(tǒng)部署在6臺大型計算機上,交易峰值能達到每秒10萬筆。

他大為驚嘆:10萬筆!何等高不可攀的數(shù)字!什么時候支付寶也能達到就好了!

回到杭州,他馬上與同學(xué)們分享了這次見聞,結(jié)果同學(xué)們告訴他說,今年我們的目標(biāo)就要超過每秒10萬筆了。

李俊奎一想,這種一聽就不可能的目標(biāo),是支付寶的作風(fēng),沒毛病。

與此同時,鄭洋飛則在為這個目標(biāo)頭痛不已。他剛剛跟他的主管打了一個賭,賭的是他作為2015年雙11全鏈路壓測的負責(zé)人,能不能保障雙11的支付不出任何問題。賭注是一只apple watch。

這一年是90后的鄭洋飛第一次挑大梁,從雙11的參與者轉(zhuǎn)換角色成為一個項目的主導(dǎo)者。但這一年也是他和團隊都“忍辱負重”的一年,上半年,因為頻繁不斷的可用率問題,他們做穩(wěn)定性的團隊也在頻繁遭受打擊,士氣不振,不少同學(xué)選擇了離開,內(nèi)外的質(zhì)疑聲也接連不斷,那幾個月,空氣里都仿佛寫滿了“難熬”二字。

“當(dāng)時團隊沒幾個人了,但是人人都憋著一口氣,想著一定要把雙11這個事情搞好。”鄭洋飛說,“就是不想讓人覺得支付寶不行。”

局面有如背水一戰(zhàn),如果失敗了,想要“翻盤雪恥”就要再等一年。因為雙11每年只有一次,不僅是一年一度的大考,更是一年一度的舞臺。按照系統(tǒng)部資深技術(shù)專家楊海悌的說法,“人人都想把自己一年的努力拿到雙11去驗證和展示,不讓上還不高興。”

跟2014年的全鏈路壓測比起來,2015年主要要做幾個方面大刀闊斧的改進:一是要從核心系統(tǒng)擴展到全部系統(tǒng),二是要平臺化,也就是打造一個全鏈路壓測的平臺工具,三是要跟整個集團的壓測打通聯(lián)動。

“老實說,非常忐忑。”鄭洋飛心里沒底。

當(dāng)雙11零點的洪峰撲面而來時,他已經(jīng)忘掉了apple watch這回事。有一個壓測沒驗證到的數(shù)據(jù)庫定時任務(wù),讓曲線看上去不那么平滑。“穩(wěn)定壓倒一切”的宗旨之下,系統(tǒng)只要一抖,整個團隊的心也跟著抖了起來。迅速排查的結(jié)果是,系統(tǒng)整體沒出問題,但壓測遺漏的一些細節(jié),讓結(jié)果不是那么完美。

“曲線不是特別好看。”他不無遺憾地說。

鄭洋飛最終贏得了這只apple watch,但對于他而言,除了獎品之外,這只apple watch更有了別樣的意義,時刻提醒他即使做了再充分的準(zhǔn)備,也沒有萬無一失。

【七】對“絲般順滑”的追求永無止境

其實每一位支付寶工程師的心中,都有一條的“完美曲線”。

理想之中,它應(yīng)該是這樣的:雙11零點,洪峰來了,曲線漂亮地攀升,沒有驟升驟降,不要用頻繁的抖動去折磨大家脆弱的神經(jīng)。

如果要濃縮成一個詞,那就是“絲般順滑”。

但是,每一次為此而做的技術(shù)演進和架構(gòu)變更進行到一定階段,“你都會發(fā)現(xiàn)一開始可能設(shè)想得非常美好,但到了一定的規(guī)模之后,挑戰(zhàn)就接二連三地來了。”楊海悌感嘆道,“量變產(chǎn)生質(zhì)變,這句話不是虛的。”

雙11的“量”,早已一騎絕塵地進入前所未有的領(lǐng)域,2016年雙11僅用了6個多小時,交易額就已超過2014年全天。這些年以來,都是自己在不斷刷新自己的紀(jì)錄。

在這樣的量之下保障穩(wěn)定,難度不止提高了一個數(shù)量級。

還記得2012年底制定的架構(gòu)革命之“三年計劃”嗎?它真的持續(xù)了三年,這場最初是為了解決數(shù)據(jù)庫連接數(shù)和機房限制而進行的架構(gòu)革命,在三年的演進過程中,又衍生出很多其他的架構(gòu),比如異地多活、容災(zāi),彈性的容量調(diào)度等,直到2016年,才算全部落地。這之中每一步的演進,都是為了讓系統(tǒng)具備動態(tài)擴容能力,能夠順滑地進行彈性的擴展和伸縮。

“大”是考驗,“小”也是考驗。

師文匯體會最深刻的瞬間,不是2014年OceanBase一舉成名的時刻,而是2016年一次小小的測試。在這個測試里,他發(fā)現(xiàn)了一個指標(biāo)有一點異常——非常不起眼,2毫秒的偏差。

“2毫秒而已,如果在別的地方,很可能就會被判斷為無關(guān)緊要,然后漏過了。”但他的團隊中的一位小伙伴,非常認真地去檢查了這個問題——萬幸如此。后來事實證明如果不解決這個問題,那年的雙11就會有大麻煩。

“即使資源不足、時間緊張、軟件有各種不完善的地方,但我們的小伙伴不會放過任何一個問題。”師文匯感慨。

早些年,流量曾是實現(xiàn)完美曲線最主要的挑戰(zhàn),但是越到后來,隨著業(yè)務(wù)的不斷拓展,工程師們越來越清楚地認識到,穩(wěn)定壓倒一切不假,但技術(shù)更要著眼于未來。

2017年,是賀巖加入支付寶的第九年。這一年支付寶實現(xiàn)了離線在線混布,離線任務(wù)的大量閑置資源可以被用于在線任務(wù),從而大大提升了資源的利用率。

“在一些小的場景中,這種效率提升能帶來的節(jié)約可能不那么突出,但在我們這樣的體量上,它所帶來的就是不可估量的一整個未來。”賀巖說。

有了前人積淀這么多年的基礎(chǔ),面向未來的路,就越走越順利了起來。

2018年雙11,支付寶其實保障了兩個大促,天貓的大促,和支付寶自己的“碼上雙11”等玩法。這一年的故障數(shù)比前一年下降了70-80%,首次實現(xiàn)大促全天平穩(wěn)。

大隊長李錚非常淡定:“說白了,就是我們把各種風(fēng)險通過系統(tǒng)化或工程化的流程,控制得比較好。峰值出現(xiàn)的過程,也都在我們的預(yù)期之內(nèi)。”

2019,則是雙11的“云原生”元年。

如果說技術(shù)是像疊積木那樣一層一層累積起來的,那云原生就是最下面的基礎(chǔ),打好了這層基礎(chǔ),上層的應(yīng)用就像是站在了巨人的肩膀上,生來就具備了一系列強大的能力。業(yè)務(wù)無需再過多地擔(dān)憂技術(shù)問題,只需要專注于業(yè)務(wù)代碼即可。

【八】點亮全世界

故事講到這里,不知大家是否還記得,當(dāng)年因為每秒兩萬筆的峰值目標(biāo)而驚呼“不可能”的同學(xué)們。

當(dāng)年,每秒兩萬筆是他們舉全體之力奮斗半年才能沖上的高峰,而去年,每秒兩萬筆已經(jīng)成為支付寶再日常不過的狀況,隨隨便便,一秒鐘的事。

這樣的巨變真實發(fā)生了,只是身處當(dāng)時當(dāng)?shù)?,誰也沒有想那么多。幾乎每一位工程師都表示:“每年搞完雙11,下一年的目標(biāo)就出來了,然后我們就為著下一年的目標(biāo)去進行相應(yīng)的準(zhǔn)備和努力。”

一個目標(biāo),又一個目標(biāo),在征服一個又一個“不可能”的過程中,曾經(jīng)以為遙不可及的標(biāo)高,都一一被甩到身后。當(dāng)年高不可攀的每秒10萬筆,今天看來不過小菜一碟。

只有當(dāng)回頭的時候才有所感覺,在某一天忽然發(fā)現(xiàn),原來已經(jīng)走出了那么遠,原來已經(jīng)攀登到了那么高的地方。

而當(dāng)年那些驚呼不可能卻又拼命將不可能變成現(xiàn)實的年輕人,已經(jīng)紛紛長大,他們現(xiàn)在有著更多的從容淡定,上限在哪里沒人知道,更大的可能是,沒有上限。  

萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能

流量數(shù)據(jù)的增長也早已不是雙11技術(shù)保障的全部。更多復(fù)雜的業(yè)務(wù)和玩法,在技術(shù)的成果之中生長起來,反過來又為技術(shù)的發(fā)展提供動力。走出雙11,它們還能走入很多的場景:新年紅包、五福集卡……

——或者走出支付寶和阿里巴巴。

那些由支付寶的工程師們創(chuàng)下的奇跡,正一一變成產(chǎn)品,服務(wù)更多的金融機構(gòu)。至今已有數(shù)十家銀行和金融機構(gòu)用上了OceanBase,壓測平臺、云原生等技術(shù)也紛紛走向產(chǎn)品化,支付寶通過歷年雙11沉淀下的技術(shù)和經(jīng)驗,正在拉動整個中國的互聯(lián)網(wǎng)金融科技一起飛奔。

——或者走向全世界。

雙11早已不僅是中國的雙11,而是成為了一場全球的狂歡。與雙11一起,技術(shù)也在走向全世界。

“不過要是說到我們的理想,那就是將來某一年雙11,整個備戰(zhàn)室空空蕩蕩,除了關(guān)公像之外,不需要有任何同學(xué)留守,智能化的系統(tǒng)能搞定一切問題,而我們只需要捧著茶杯或喝著酒,看著絲般順滑的曲線。”

對于鞏杰所展望的這種未來,現(xiàn)場就有同學(xué)笑了。“不可能吧!?”每年雙11都如同打仗一般,救兵如救火。

但是誰說不可能呢?畢竟,他們是那樣一群已經(jīng)把太多的不可能變?yōu)楝F(xiàn)實的人。

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責(zé)任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2019-11-12
萬字長文丨1分36秒,100億,支付寶技術(shù)雙11答卷:沒有不可能
2019年雙11來了。

長按掃碼 閱讀全文