您好,登錄后才能下訂單哦!
每年“雙11”都是一場電商盛會,消費者狂歡日。今年雙11的意義尤為重大,它已經發展成為全世界電商和消費者都參與進來的盛宴。而對技術人員來說,雙十一無疑已經成為一場大考,考量的角度是整體架構、基礎中間件、運維工具、人員等。
一次成功的大促準備不光是針對活動本身對系統和架構做的優化措施,比如:流量控制,緩存策略,依賴管控,性能優化……更是與長時間的技術積累和打磨分不開。下面我將簡單介紹支付寶的整體架構,讓大家有個初步認識,然后會以本次在大促中大放異彩的“螞蟻花唄”為例,大致介紹一個新業務是如何從頭開始準備大促的。
架構
支付寶的架構設計上應該考慮到互聯網金融業務的特殊性,比如要求更高的業務連續性,更好的高擴展性,更快速的支持新業務發展等特點。目前其架構如下:
整個平臺被分成了三個層:
在2015年完成了基于邏輯機房,異地部署的“異地多活”的架構落地。“異地多活”架構是指,基于邏輯機房擴展能力,在不同的地域IDC部署邏輯機房,并且每個邏輯機房都是“活”的,真正承接線上業務,在發生故障的時候可以快速進行邏輯機房之間的快速切換。
這比傳統的“兩地三中心”架構有更好的業務連續性保障。在“異地多活”的架構下,一個IDC對應的故障容災IDC是一個“活”的IDC,平時就承接著正常線上業務,保證其穩定性和業務的正確性是一直被確保的。
以下是支付寶“異地多活”架構示意圖:
除了更好的故障應急能力之外,基于邏輯機房我們又具備的“藍綠發布”或者說“灰度發布”的驗證能力。我們把單個邏輯機房(后續簡稱LDC)內部又分成A、B兩個邏輯機房,A 、B機房在功能上完全對等。日常情況下,調用請求按照對等概率隨機路由到A或B 。當開啟藍綠模式時,上層路由組件會調整路由計算策略,隔離A與B之間的調用, A組內應用只能相互訪問,而不會訪問B組。
然后進行藍綠發布流程大致如下:
Step1. 發布前,將“藍”流量調至0%,對“藍”的所有應用整體無序分2組發布。
Step2. “藍”引流1%觀察,如無異常,逐步上調分流比例至100%。
Step3. “綠”流量為0%,對“綠”所有應用整體無序分2組發布。
Step4. 恢復日常運行狀態,藍、綠單元各承擔線上50%的業務流量。
分布式數據架構
支付寶在2015年雙十一當天的高峰期間處理支付峰值8.59萬筆/秒,已經是國際第一大系統支付。支付寶已經是全球最大的OLTP處理者之一,對事務的敏感使支付寶的數據架構有別于其他的互聯網公司,卻繼承了互聯網公司特有的巨大用戶量,最主要的是支付寶對交易的成本比傳統金融公司更敏感,所以支付寶數據架構發展,就是一部低成本、線性可伸縮、分布式的數據架構演變史。
現在支付寶的數據架構已經從集中式的小型機和高端存儲升級到了分布式PC服務解決方案,整體數據架構的解決方案盡量做到無廠商依賴,并且標準化。
支付寶分布式數據架構可伸縮策略主要分為三個維度:
根據CAP和BASE原則,再結合支付寶系統的特點,我們設計了一套基于服務層面的分布式事務框架,他支持兩階段提交協議,但是做了很多的優化,在保證事務的ACID原則的前提下,確保事務的最終一致性 。我們叫做“柔性事物”策略。原理如下:
以下是分布式事務框架的流程圖:
實現:
螞蟻花唄
螞蟻花唄是今年增加的一個新支付工具,“確認收貨后、下月還”的支付體驗受到了越來越多的消費者信賴。跟余額和余額寶一樣,螞蟻花唄避開了銀行間的交易鏈路,最大限度避免支付時的擁堵。據官方數據披露,在今天的雙十一大促中,螞蟻花唄支付成功率達到99.99%、平均每筆支付耗時0.035秒,和各大銀行渠道一起確保了支付的順暢。
螞蟻花唄距今發展不到一年,但發展速度非常快。從上線初期的10筆/秒的支付量發展到雙十一當天峰值2.1w筆/秒。支撐螞蟻花唄業務發展的技術體系經過不斷演進、已經完全依托于螞蟻金服的金融云架構。
在2014年12月,螞蟻花唄團隊完成業務系統優化,按照標準將系統架設到了金融云上,依次對接了渠道層、業務層、核心平臺層、數據層,使得用戶對螞蟻花唄在營銷、下單和支付整個過程中體驗統一。
2015年4月,螞蟻花唄系統同步金融云的單元化的建設,即LDC,使得數據和應用走向異地成為了現實,具備了較好的擴展性和流量管控能力。在可用性方面,與金融云賬務體系深度結合,借用賬務系統的failover能力,使得螞蟻花唄通過低成本改造就具備了同城災備、異地災備等高可用能力。任何一個單元的數據庫出了問題、能夠快速進行容災切換、不會影響這個單元的用戶進行螞蟻花唄支付。在穩定性方面,借助于云客戶平臺的高穩定性的能力,將螞蟻花唄客戶簽約形成的合約數據遷移進去,并預先寫入云客戶平臺的緩存中,在大促高峰期緩存的命中率達到100%。同時,結合全鏈路壓測平臺,對螞蟻花唄進行了能力摸高和持續的穩定性測試,發現系統的性能點反復進行優化,使得大促當天系統平穩運行。在之前的架構中,系統的秒級處理能力無法有效衡量,通過簡單的引流壓測無法得到更加準確、可信的數據。立足于金融云,系統很快通過全鏈路壓測得到了每秒處理4w筆支付的穩定能力。
螞蟻花唄業務中最為關鍵的一環在于買家授信和支付風險的控制。從買家下單的那一刻開始,后臺便開始對虛假交易、限額限次、套現、支用風險等風險模型進行并行計算,這些模型最終將在20ms以內完成對僅百億數據的計算和判定,能夠在用戶到達收銀臺前確定這筆交易是否存在潛在風險。
為了保證螞蟻花唄雙11期間的授信資金充足,在金融云體系下搭建了機構資產中心,對接支付清算平臺,將表內的信貸資產打包形成一個一定期限的資產池,并以這個資產池為基礎,發行可交易證券進行融資,即通過資產轉讓的方式獲得充足資金,通過這一創新確保了用戶能夠通過花唄服務順利完成交易,并分流對銀行渠道的壓力。通過資產證券化運作,不僅幫助100多萬小微企業實現融資,也支撐了螞蟻花唄用戶的消費信貸需求。螞蟻小貸的資產證券化業務平臺可達到每小時過億筆、總規模數十億元級別的資產轉讓。
總結
經過這么多年的高可用架構和大促的準備工作,螞蟻金融技術團隊可以做到“先勝而后求戰”,主要分為三方面技術積累:“謀”,“器”,“將”。
“謀”就是整體的架構設計方案和策略;
“器”就是支持技術工作的各種基礎中間件和基礎組件;
點擊關注,互聯網研發架構師
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。