11年天貓雙11對支付寶技術有什麼意義?

剛剛過去的雙十一全天交易額2684億,再創新高,支付寶自研分佈式數據庫OceanBase每秒處理峯值達到6100萬次,再次展現世界級數字金融運算能力。數據庫

今年是支付寶參加雙十一的第十一年,也是一個新的起點,咱們將支付寶曆年重要技術製做成一張大圖,但圖所包含的信息畢竟有限,本文將這些技術分爲三個階段,爲你詳細解讀。後端

支付寶新技術最佳演練場.jpg

2009-2013:被大促拽着前進

2009年光棍節,第一次雙十一來的很忽然,誰也沒有想到在網民自創的「節日」搞的促銷活動會成爲中國最大的購物狂歡節,當天淘寶商城的成交額激增10倍。安全

支付寶第一年參加雙十一,第一代對帳系統完成大促全量資金覈對,同時總體完成面向服務的架構SOA改造,雖然手忙腳亂,不過仍是扛了下來。服務器

在2008年之前,支付寶用的是阿里的WebX框架,採用IOE商業系統+開源軟件的方式搭建後臺,但這套架構是煙囪式架構,難以維護和擴展。2007年開始,支付寶自研SOFA框架,並於2008年1月上線。網絡

2.jpg
SOFA分佈式中間件早期架構架構

SOFA最開始的目標是對後端架構進行分佈式服務化改造,而雙十一大促將這個進程大大加快,剛完成這項改造,團隊又快馬加鞭的投入下一項任務中。負載均衡

2010年第二次雙十一,你們雖然有了準備,但實際的流量和成交額仍然遠超估計,據當年的參與者表示,雖然準備了比平時多3倍的容量,但最後的流量是平時的20倍,在最後關頭,運維人員將會計系統降級,避免核心系統崩潰。框架

在這一年裏,支付寶數據庫團隊完成數據庫的垂直拆分和水平擴展,將交易帳戶庫分爲交易庫和帳戶庫,奠基了彈性擴容的基礎。可是,拆分帶來了數據一致性問題,中間件團隊研發並上線了基於兩階段提交的分佈式事務中間件XTS,解決了這個問題。XTS通過不斷完善,如今已經進化爲阿里巴巴和支付寶共建的Seata項目,並已經在GitHub上開源。less

也正是在這一年,分佈式關係數據庫OceanBase開始立項,開始了技術長跑。運維

2011年,支付寶運維監控系統xflush上線,實時秒級監控大促的峯值,業務健康度再也不是黑盒,後來,升級爲全功能監控平臺AntMonitor。

2012年雙十一單日交易一億筆,在這背後,是支付寶緊急經過數據、網絡、機房的改造,將單日的支付能力從百萬級提高到了億級。

當時,支付寶系統伸縮的瓶頸在基礎設施和應用層面,首先是負責流量接入和調撥的負載均衡,支付寶自研了負載均衡中間件Spanner,2012年上線併成功支持大促,在不斷升級改造後,到今天也仍在支撐日漸高漲的巨大流量。

其次的瓶頸在交易系統和帳務系統,支付寶經過多IDC的改造,將交易系統和帳務系統進一步拆分,擴展了系統承載能力,並經過FailOver機制,避免單點故障。

3.jpg
多IDC架構

2013年,支付寶 All-In 無線,移動端首次在雙十一大促中承擔重要職責。

但實際上這一年最重要的變化是,支付寶開始實施單元化的LDC邏輯數據中心,並在此基礎上實現了交易支付系統的異地雙活,有效提高了核心系統的持續服務能力。

4.jpg
單元化改造示意圖

這裏的單元是指一個能完成全部業務操做的自包含集合,在這個集合中包含了全部業務所需的全部服務,以及分配給這個單元的數據。單元化架構就是把單元做爲系統部署的基本單位,在全站全部機房中部署數個單元,每一個機房裏的單元數目不定,任意一個單元都部署了系統所需的全部的應用,數據則是全量數據按照某種維度劃分後的一部分。

支付寶單元化改造並非一蹴而就,過程十分艱辛,不過帶來的好處也很是多,包括理論上無限可伸縮微服務架構、異地多活部署、全站藍綠髮布和線上灰度仿真、異構機房上的彈性混合雲架構等。

從2009年到2013年的雙十一,支付峯值從數百筆增加到1.3萬筆每秒,每一年的增加速度都是數倍甚至十幾倍的提高。爲了支撐瘋漲的流量,這些年裏,支付寶技術的最重要目標是擴展系統的承載能力,能夠說是被大促拽着前進。到2013年,LDC架構實現了理論上無限伸縮的能力,技術團隊終於能夠稍做喘息,開始追求精細化,大促相關技術也開始走到新的階段。

2014-2018:從去IOE到大促技術標準化

2014年對於支付寶來講,是一個全新階段的開始:去IOE開始落地,大促神器全鏈路壓測正式啓用,最後大促中控平臺上線,標誌着支付寶雙十一大促相關技術走向標準化。

首先是去IOE,OceanBase在TPC-C數據庫基準測試取得第一名,這個螞蟻自研的分佈式關係數據庫一會兒爲世人所知,這裏咱們看一下這些年來它在幕後一路走過的里程碑:

2014.11 OceanBase承擔支付寶交易10%流量;
2015.11 OceanBase承擔支付寶交易100%、支付50%流量;
2016.11 OceanBase承擔支付寶交易100%、支付100%、花唄帳務30%流量;
2017.11 OceanBase承擔支付寶交易100%、支付100%、帳務100%流量,「去O」大功告成!並第一次走出阿里,應用到南京銀行互聯網核心系統;
2018.11 基於OceanBase2.0分區的百萬支付架構上線,正式兼容Oracle;
2019.11 OceanBase取得TPC-C測試第一名,雙十一每秒處理峯值6100萬次;
……

在2014年時,支付寶決定將核心交易系統的10%流量放到OceanBase上,在今天看來是很是冒險的舉動,不過當時之因此這麼作,是由於以前所採用的Oracle數據庫已經沒法支撐下一次大促了。OceanBase也經歷了很是多的優化,在2018年的雙十一中,OceanBase 2.0上線,並確立了以OceanBase 2.0分區爲主的架構,完全解決了數據庫層面的瓶頸,實現百萬支付架構。

5.png
OceanBase分區架構

2014年雙十一首次採用全鏈路壓測,這能夠說是大促保障的核武器。全鏈路壓測解決了以前的大促規劃靠拍腦殼、成功看運氣的問題,經過模擬用戶在大促時的行爲和流量,將涉及到的每一個系統、每項技術都測試到位,大大減小了大促出事故的機率。

2016年,支付寶還在LDC邏輯數據中心的基礎上,在支付核心鏈路成功實現彈性架構,100%按照運營需求彈性擴充資源,極大節省了成本。彈性架構可讓系統隨流量自動化的伸縮,能夠下降成本,提高運維效率。

6.jpg
從多IDC架構到彈性架構的演變

2017年,支付寶首次實現離在線混合部署,80%在線資源,20%離線資源。隨着大數據和機器學習的落地,支付寶平時有一些離線計算集羣,經過調整工做時間,能夠實現和大促高峯流量錯峯,再和彈性架構結合,就實現了分時調度,同一批資源在不一樣的時間運行不一樣的應用,最大程度提高資源利用率。

7.jpg
離在線混部示意圖

2018年雙十一,支付寶推出系列活動,「碼上雙十一」聯動手淘拉新促活用戶,至關於開啓了雙大促,若是按之前的作法,須要採購雙倍的服務器,有了混部和分時調度以後,才得以在新增少許服務器的狀況下支撐,極大的節省了成本。

2017年其它的新技術還包括:

  • 首次啓用智能客服系統,單日服務總量超過500萬人次。
  • 智能風控AlphaRisk多模式切換落地,確保帳戶資損率低於千萬分之五,遙遙領先於全球平均水平。
  • 首個在國內自主研發的圖數據庫GeaBase及自研圖查詢語言第一次參加雙十一,實現了對百億級關係網絡毫秒級的查詢和變動。

2018年雙十一的時候,關於大促保障的相關技術基本已經成熟,但都比較零散,若是想更好的利用這些技術,須要把它們整合到一塊兒,大促中控平臺也正是在這個背景下出現的,它標誌着支付寶將以前的大促經驗沉澱,大促保障相關的技術實現標準化。

2018年雙十一的新技術還有:

  • 首次在大促中進行紅藍攻防演練,在全鏈路壓測的基礎上進一步提高整個系統的可靠性。
  • 大促巡檢平臺上線,實現大促相關的配置的全面檢查,防止配置失誤。
  • 區塊鏈技術第一次全面參戰,百餘個國家和地區、1.5億跨境上牌的原產地溯源再也不是難題。
  • 生物支付首次成爲天貓雙十一主流支付方式,每10筆支付就有6筆採用生物支付,標誌着中國的生物支付時代來臨。

2017年雙十一支付峯值25.6萬筆/秒,2018年支付寶內部實現可擴展的百萬支付架構,再加上大促中控平臺上線,咱們能夠看到,支付寶大促相關的技術已經成熟,並在不斷打磨中追求可靠性、資源利用率、自動化、靈活性,把大促相關技術作到極致。

2019+:面向將來的金融科技

從2018年起,支付寶開始嘗試和探索雲原生架構的落地,同時數據智能相關技術也在公司內普遍使用。2019年,相關的技術開始亮相大促舞臺,以支付寶自研產品SOFAMesh搭建的金融級雲原生基礎設施首次登上雙十一,打造了業界最大的Service Mesh集羣。

OceanBase 2.2上線大促核心支付鏈路,每秒處理峯值6100萬次,這是OceanBase數據庫同時兼容MySQL以及Oracle兩種模式的一個里程碑的版本,性能和穩定性上也相對2.0版本有大幅提高。

最重要的是,支付寶技術開始走向無人區,將來的道路只能靠本身開拓,沒有別人能夠參考。支付寶開始本身描述面向將來的金融技術架構,推出了金融級雲原生、開放計算架構等技術和理念,打造面向將來的金融科技。

金融級雲原生是指在CNCF所定義的雲原生基礎上,發展出適合金融機構使用的一套技術棧,其中包括全面對外開放的SOFAStack金融級雲原生分佈式平臺,以及經過安全容器、TEE、Service Mesh等構建的全棧雲原生安全架構。

SOFAStack不只採用Kubernetes、容器等社區化的雲原生基礎技術,同時考慮金融行業的特殊性,支持以前的傳統架構,造成雙模技術,包括:

  • 雙模PaaS:包括傳統PaaS和基於Kubernetes的PaaS,在PaaS中用容器來模擬 VM 的運行模式,同時支持容器和虛擬機;
  • 雙模微服務:經過Mesh來統一基於Kubernetes的微服務和老的服務註冊中心式微服務;
  • 雙模Serverless:同時支持基於雲原生的Nodejs Serverless模式、基於JVM的Serverless模式,以及基於雲原生的Java Serverless模式。

在開放計算架構方面,支付寶經過設計一套符合當下計算體系,同時又能應對將來計算趨勢的技術框架,來解決計算引擎更新、統一研發體系、數據共享互通、數據風險防控等幾方面問題。

首先在計算引擎方面,針對不一樣的計算做業狀態進行統一管理,達到兼容任何一種計算引擎,而且實現插件化能力;在研發層面,推出了SmartSQL,在標準SQL規範之上擴展了部分功能及語法,但願用最簡單通用的語言,描述絕大部分的計算及機器學習做業;在存儲層面,支付寶自主研發了統一存儲系統,支持多種類型的數據存儲格式,同時支持一份數據不一樣格式之間的自動轉換及遷移,極大地簡化了引擎層對存儲的使用,同時節約了大量成本。

另外,開放計算架構之因此叫開放,就是它能包容不一樣的計算模式和引擎。在開放計算架構之中,包含了離/在線一體的圖計算引擎及存儲,從使用場景,能夠覆蓋在線、實時、離線各個場景,用於支持不一樣時效性的業務。從功能上,具有金融級圖數據庫,超大規模圖計算,流圖混合的動態圖計算以及超快內存圖等計算能力,覆蓋了不一樣量級的數據計算能力。在機器學習方面,開放計算架構還包含了以前已經開源的SQLFlow以及前段推出的ElasticDL彈性深度學習框架。

8.jpg

這一整套體系將BigData和DataBase的理念揉合在一塊兒,又稱爲Big Data Base,是支付寶摸索出來的金融數據智能的最佳實踐,下一代大數據的基石。

2019年,開放計算架構在支付寶不一樣場景中落地。隨着圖計算在花唄,螞蟻森林等場景中大規模上線,圖數據庫Geabase突破萬億邊,在線圖分析百億關係特徵計算秒級響應。同時,經過融合計算引擎,協同流、圖、並行計算、機器學習等不一樣計算模式,在支付過程當中提供秒級智能決策能力。

結語

互聯網技術的更新迭代永無止境。

對支付寶人來講,雖然已經經歷了這麼多的大促,但每年的雙十一仍然是全新的挑戰。這個挑戰不只來自於不斷推陳出新的業務和運營,也來自於技術人對本身的嚴格要求,就像那句話所說的,今天的最好表現,是明天的最低要求。

正是這樣的驅動力,驅使着支付寶的技術人不斷的超越自我,突破溫馨區,尋找下一場技術革命。也許,這也正是雙十一的意義所在。

推薦閱讀

萬字長文丨1分36秒,100億,支付寶技術雙11答卷:沒有不可能
超燃!支付寶技術雙11紀錄片《一心一役》全球獨家首發

相關文章
相關標籤/搜索