1. 程式人生 > >螞蟻雙11的這群築夢師

螞蟻雙11的這群築夢師

小螞蟻說:

你和五年前最大的區別是什麼?對OceanBase來說,是每年雙11突破前一年的記錄。


支付寶切給OceanBase 1%的流量到100%的流量,甚至支付寶把包括賬務在內的所有核心資料鏈,全部搬到OceanBase上;從2014年的285萬筆/分鐘的交易峰值和571億元的交易額到2018年的2135億元創紀錄的成交額,五年時間,每年都在發生奇蹟。而創造這些記錄的就是支撐雙11的核心資料庫OceanBase以及螞蟻雙11的這群築夢師。


對於螞蟻而言,每年的雙11是既令人敬畏,又令人興奮的。


敬畏源自對技術的執著。面對這樣一場幾億人的購物狂歡,不能也不允許有一點點的差池。這種敬畏對於外人而言甚至有點“著了魔”——技術人員拜關公、燒香、穿戰袍和紅內褲,甚至預案的精細粒度達到「如果當晚茶杯在電腦上打翻了怎麼辦」這個話題。


興奮是為了什麼?


興奮來自於未知。每年的雙11對於螞蟻金服,對於OceanBase來說就是一個超級工程,而下一年的雙11又會突破前一年的紀錄。永遠不知道邊界在哪裡,但是一旦設定了方向就會不顧一切的往前衝。


嚴格來說,OceanBase真正經歷了五年的雙11。


2014年

2013年5月,支付寶下線了最後一臺IBM小型機,完成了去IOE程序中的一次重要嘗試。最重要的O如何去掉,又成為了擺在螞蟻金服團隊面前的一座大山。


2014年,陽振坤(OceanBase團隊負責人)回憶道,當時大家在會議室裡討論支付寶交易庫的上線,牆壁都快被吵破了,但是別人就是不願意上OB。


他們原來的交易、支付系統全都在Oracle上,當時的Oracle無論是在穩定性、可靠性還是效能方面,肯定比OceanBase要好得多。


1.png

雙11作戰室裡的魯肅


最後,在程立(花名魯肅,螞蟻金服CTO)的力挺下決定切給 OceanBase 1%的流量試試。因為那幾年業務發展的太快,當時Oracle的共享儲存已經扛不住這個流量,按照當時的業務流量去做壓測的時候,幾分鐘就要壞一塊盤。


最後發現,把業務切掉10%,才能勉強扛得住。所以最後決定把10%的流量切到了OceanBase上。


2.png


2014年雙11的零時之後,出現了285萬筆/分鐘的交易峰值,這個數值是2013年峰值的3倍多。最後2014年的天貓雙11交易額達到571億元,OceanBase 0.5 版本成功應用於支付寶核心交易系統。


OceanBase的老同學說,當時的第一反應是有點感動,有點欣慰,覺得我們真的撐住了!那一年,OceanBase成功扛住了10%的流量,順利通過了交易洪峰的考驗。


2015年

2015年天貓雙十一的交易額達到了912.17億元。


00:05:01:交易建立達到峰值14萬筆/秒;


00:09:02:支付達到峰值8.59萬筆/秒。


3.png


在當年,Visa的支付峰值是1.4萬筆/秒(實驗室測試是5.6萬筆/秒);MasterCard實驗室測試是4萬筆/秒。這個數字已經讓世界矚目了。


2014年,OceanBase在雙11算是一次牛刀小試,支撐了10%的交易建立流量。在2015年的雙11,OceanBase真正挑起了大梁。螞蟻交易建立100%切流到OB上,核心線的會員、充值、支付也都50%切流到OB,說是扛起來螞蟻核心應用的半壁江山,一點也不為過。


從10%到100%,不僅僅是數字上的變化,其內部蘊含著效能、穩定性、可運維性、高可用等一系列的挑戰。


當年的DBA熱情洋溢地寫道:


“如果缺少了‘一干到底’的精神,我們將很難在每一個細節上都做到完美。在雙11這樣的極端場景下,任何一個細節的疏漏,都很可能導致整個系統出現難以估量的損失。最終,OceanBase經受住了雙11的極致考驗,14萬筆每秒的支付寶交易建立峰值(全部跑在OB資料庫上)就證明了一切。”


2016年

2016年雙11的成績讓馬老師喜笑顏開。


4.png


“剁手黨”們僅用6分58秒就讓天貓雙11的交易額破100億元,2016年天貓雙11最終交易額突破1207億元。


5.png


零點9分39秒,螞蟻金服CEO井賢棟宣佈,2016年雙11誕生了支付峰值的世界新紀錄——12萬筆/秒,是2015年的1.4倍。


令人驚訝的是,如此龐大的交易量,系統不僅沒出現大面積崩潰,而且還很穩。用當年也是現在OceanBase的DBA孔德生(花名沈煉)的話來說,“曲線 ‘絲般順滑’,過程 ‘雲淡風輕’ 。”


2016年的雙11,OceanBase 1.0版本承擔了會員,交易,支付,紅包,國際交易,花唄支付,賬務前置,花唄賬務,賬務明細,會計,計費等系統的流量,支撐起了2016年12萬筆/秒的支付峰值。


OceanBase 1.0版本當時還是一個剛剛釋出不久的資料庫,從穩定性到效能幾乎與業務改造同步,可想而之對於當年的DBA同學,業務同學和OceanBase團隊來說是多麼巨大的挑戰。


而事實上,為了這個結果OceanBase團隊已經踏踏實實積澱了2年時間。從2014年到2016年,整整兩年的時間,整個團隊中的40多個人,全部投在OceanBase 1.0版本的開發上。整整兩年,這40多個人只做了這麼一件事。


2017年

6.png


2017年11月11日凌晨,天貓雙11全球狂歡節剛開場5分22秒,新的支付峰值誕生:25.6萬筆/秒,比去年增長超1.1倍,再次重新整理全球紀錄。同時誕生的還有資料庫處理峰值,4200萬次/秒


7.png


2017年也是支付寶首次公佈資料庫處理峰值。4200萬次/秒的意思是,在支付峰值產生的那一秒裡,OceanBase平穩處理了4200萬次請求數,這也再次直接應證了中國自主研發的資料庫OceanBase已經躍升至全球資料庫的第一梯隊。


胡喜(花名阿璽,螞蟻金服集團副CTO、副總裁、首席架構師)介紹道,支付寶之所以在2017年首次公佈“資料庫處理峰值”,是因為2017年的雙11,支付寶首次把包括賬務庫在內的所有核心資料鏈,全部搬到了OceanBase上。


“對於使用者來說,一筆支付就是一筆支付,對於資料庫來說,一筆支付則是數個處理請求的集合。”胡喜介紹,使用者進行支付時,錢可能從借記卡轉出,從花唄借出、還有10塊錢由優惠券出、分期付款……這些都是一個個獨立的處理請求,需要資料庫進行處理。在支付高峰,能否支撐得住海量級的處理併發量,對OceanBase來說是一個巨大的考驗,而此次4200萬次/秒的處理峰值充分說明,OceanBase再一次經受住了考驗。


2017年的雙11,OceanBase還有一個技術突破,是實現了“離線上混合部署”。它最核心的優勢是,能夠在雙11支付峰值來臨前,借調“離線機房”的閒置計算資源,並在峰值回落後再“還”回去。憑藉這一技術創新,為2017年的雙11支付保障節省了2000多臺伺服器。


2018年

2018年的雙11,彷彿真實的還在眼前。天貓雙11最終以2135億元創紀錄成交額收官,支付寶系統在這場“商業奧運會”中再次經受住了考驗。


8.png


胡喜透露,整體系統穩定、順滑地度過剛剛過去的這24小時,離不開核心技術的全面開放,這其中當然包括了螞蟻金服分散式資料庫OceanBase。


9.png


胡喜強調,支付寶已經將支撐雙11自主研發的核心技術100%開放出來,包括三地五中心多活架構 、分散式資料庫OceanBase、分散式架構SOFAStack、生物識別平臺ZOLOZ、螞蟻區塊鏈 、智慧風控引擎AlphaRisk等。


OceanBase 2.0版本就全面支撐了2018年雙11支付寶的核心鏈路。該版本效能比去年提升了50%,這樣交易不用臨時擴容,真正實現了“零成本”支撐大促。


OceanBase 2.0版本的設計可支撐百萬支付峰值甚至無上限。此外,在完全相容MySQL後,OceanBase 2.0版本加強了對Oracle資料庫的相容。OceanBase在價效比方面更是精雕細琢,使得在OLTP場景的實際應用中,OceanBase 2.0版本相對於1.4版本,效能提升了50%以上,儲存下降30%。


築夢師?信仰者?

寫到這裡,突然想起《盜夢空間》裡的一句話: 


一個簡單的念頭可以創造一座城市,也可以改變整個世界。


10.png


我在想要怎麼定義這群人,可以稱呼他們為築夢師,將所有最美好的最複雜的理想世界通過自己的“念頭”築造成現實。


倒不如說他們是自己技術理想的信仰者,即便在OceanBase即將解散的那些年,陽振坤還是會堅定如一的說,「OceanBase以後是要取代IOE的」


這種自信源自於對一件事極致的、不摻一絲懷疑的信念。


即便是最艱難的時刻,這種信仰還是紮紮實實的刻在OB人的心上,因為他們相信:先活下來,只要不離場,就還有希望


當然這句話還有下半句——只要有希望,就總有機會實現