摘要 : 都以為“雙十一”天貓571億元交易并不完全歸功于支付寶。真實情況是,支付寶等各種的交易占比32%,銀行交易占比是57%。銀行的交易系統并沒有想象中那么不堪一擊。
都以為“雙十一”天貓571億元都歸功于阿里的支付寶交易等,根本不是這回事。真實情況是,支付寶等各種的交易占比32%,銀行交易占比是57%。而支付寶各種交易筆還不如銀行一天的交易筆。
不信,我給你算算小學生能都算出的算術題。當然,天貓的人不一定能懂,他們的數學真是體育老師教的,一條內褲能算出1.5米長。
這個話題的背后是,銀行的后臺真不如阿里的后臺嗎?這是一個很有趣的話題。一般來說,對阿里的贊譽在“分布式交易系統”,對銀行后臺吐槽是“集中式”交易系統。
果真如此?
一. 天貓交易筆數是多少?
口說無憑,咱們看看數字。
天貓24小時的交易額是571億元,移動交易額達到243億元,占總交易額42.6%,交易筆數是1.97億筆,物流訂單2.78億單,峰值是285萬筆/分鐘。
以上是天貓公開的數據。
由于阿里并沒有公開雙十一的總交易筆數,這里我們根據上面提供的公開數據進行一個初步的推斷。假設移動端的每筆交易平均金額(243億/1.97億筆=約123元人民幣)跟非移動端的每筆交易平均金額,那么總交易筆數可粗略計算為571億/每筆123元=4.63億筆(實際數據與此會有出入,比如由于非移動端每筆平均交易金額可能高于移動端,導致總體每筆平均交易金額提升,而總交易筆數低于4.63億筆。基于本文的目的只是做粗略推算,此處暫取4.63億筆做后續推算使用。)
二.銀行交易占比是多少?
根據螞蟻金服官方公布的數據,從交易的渠道來說,支付寶“快捷支付”占比為56.9%,“網銀支付”占比0.7%,兩者加起來占比為57.6%,走的主要是銀行渠道。
支付寶余額占比為12.5%,余額寶為11.5%,天貓寶和天貓分期購分別為7.3%和1.1%,這四種方式加起來占比32.4%,走的是阿里內部的交易系統。
問題來了,這兩種渠道相加是90%,那么,其他10%的交易走哪些渠道?不科學啊。(我也沒明白,為啥還有10%不知道是從哪兒走的)
注意,57.6%的交易通道走的是銀行通道,這意味著,“雙十一”交易峰值對技術的挑戰以及交易總量給所有IT支撐系統帶來的壓力是由支付寶以及銀行共同支撐的,而且銀行承擔了很大部分的壓力。
這下明白了吧?
三.銀行和淘寶誰強誰弱?
繼續分析。以上數字折算交易筆數的話,通過銀行進行支付的交易為2.66億筆(總交易筆數4.63億*57.6%);通過支付寶余額完成的交易筆數約為5790萬筆(總交易筆數4.63億*12.5%)。
阿里公布的數據是,排第一名的銀行占總銀行交易量的23%,折成交易占比是13.2% (57.6%*23%=13.2%), 相應的交易筆數大約為6130萬筆。
也就是說,在雙十一當天,某個銀行處理來自阿里的支付交易是6130萬筆(占比13.2%),而阿里內部占比最高的支付寶余額支付系統直接處理的交易為5790萬筆(占比12.5%),誰更厲害呢?
而總交易量方面,據了解該銀行雙11當天一天處理的交易筆數高達4.8億筆,甚至還超過了上面我們所估算的阿里雙十一當天的總交易筆數4.63億筆!
誰更厲害呢?
另外,該銀行在處理如此大規模并發交易的時候,其交易系統響應時間始終保持在非常高速的幾十毫秒級的范圍內。而這種服務水平對于該行而言并不是什么新鮮事,在其他的交易高峰時段,比如國慶、春節等等,都保持了非常高水準的類似的水平。
此外,不只是該銀行,在雙十一當天,很多銀行的交易量也都有不同程度的提升,其中也有幾家國內大行的總交易筆數接近上述銀行的規模。
總而言之一句話,銀行小伙伴并不像大家說的弱爆了,還是挺給力的。
四. 分布式強還是集中式強?
好了,做完了數學題,來看看背后的原因。
最重要的一點是CAP理論。其實這個理論在互聯網圈子談的較多,這是指任何系統在一致性、可用性、分區容忍度三個維度方面,不能兼得,最多只能得其二。分布式和集中式兩種架構只是在三者中的不同取舍而已。銀行的集中式選擇了C和A,選擇了交易的實時強一致性;阿里選擇了P,在C和A之間取個平衡,這意味著選擇了交易的最終一致性或者犧牲響應時間。
銀行必須選擇C和A,因為必須確保交易數據的實時強一致性,否則造成金融風險后果是不堪設想的。銀行系統由于需要承擔社會穩定民生不可或缺的金融基本服務,因此其系統的設計比起阿里的交易系統而言更加的復雜,在業務監管方面要接受銀監會、外管局、公安局等多個部門的監管,業務必定要合規。例如,某部門列出一個黑名單,銀行在每個關鍵點(比如存取款業務)都要檢查,更何況這些年對反欺詐、反洗錢等的監管要求。所以說,即便是交易量相同,支付寶的復雜度遠遠比不上銀行的復雜度。
還有人說了,為什么淘寶能支撐這么大的交易額?這要客觀看。阿里的技術在那里放著,通俗來說,阿里是采用分布式計算,將購物、瀏覽、廣告、交易等多個業務系統放在不同的后臺中,避免了網絡堵塞,解決了數據問題。當然,阿里在這方面投入的人力、財力不是簡單能用金錢能衡量的。國內也只有阿里一家能做到,最明顯的是去“IOE”架構。
國內銀行基本都是使用大型機或高端小型機作為其核心數據庫系統和關鍵交易系統,特點是穩定、安全性高,RAS高,數據處理能力強,缺點是其硬件設備初次購買價格偏貴(不考慮其他軟件許可證、占地空間、用電、網絡、維護等其他因素的情況下)。
五.強強聯手才是關鍵
集中式系統和分布式系統各有所長,不能完全將兩者對立起來。
最終要靠用戶和業務說話。比如如果把銀行的各種合規要求加到阿里的支付系統,那當前的分布式外加分庫分表的模式是否能夠有效地處理,可能就是一個很大的問號?而對于銀行的一些外圍系統而言,分布式的架構確實也值得借鑒,比如如何架構大規模的Web服務器,內容分發服務器等等,都是值得學習的地方。簡單來說,分布式和集中式各有所長,阿里雙十一的交易支撐其實也是這種分布式+集中式而共同實現的。
有些銀行也嘗試用X86系統,規模不大,非關鍵性沒有問題。綜合看,不同銀行有不同的定位,對穩定性的要求以及對單節點擴展能力的要求都不同。銀行對關鍵業務、關鍵數據以及非關鍵業務、非關鍵數據節點的橫向擴展能力都有各自的策略,如何保障系統的穩定性和安全性和數據一致性最重要。
業內從應用角度把系統分為SOR、SOE和SOI,SOR(System of Records)專注數據和關鍵交易部分,SOE(System of Engagement)專注在客戶連接能力和交互部分,SOI(System of Insight)側重在分析系統。
比如像銀行這樣復雜的業務系統,前端可以用分布式架構做產品購買、展示、引流、陳列、分析等非核心業務,后端可以用大型機或高端服務器專注數據和關鍵交易,兩者結合才是“各盡其能”。
一句話,根據業務選架構才是對業務負責。
再說產品,IOE也有分布式架構的產品。一句話,為用戶提供價值的才是好產品。
六. 結束語
只看數據,你不能只看熱鬧,還要看為什么,對吧。