亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

支付寶和螞蟻花唄的技術架構及實踐

發布時間:2020-08-30 01:12:03 來源:網絡 閱讀:453 作者:chajiuke王超 欄目:軟件技術

每年“雙11”都是一場電商盛會,消費者狂歡日。今年雙11的意義尤為重大,它已經發展成為全世界電商和消費者都參與進來的盛宴。而對技術人員來說,雙十一無疑已經成為一場大考,考量的角度是整體架構、基礎中間件、運維工具、人員等。

一次成功的大促準備不光是針對活動本身對系統和架構做的優化措施,比如:流量控制,緩存策略,依賴管控,性能優化……更是與長時間的技術積累和打磨分不開。下面我將簡單介紹支付寶的整體架構,讓大家有個初步認識,然后會以本次在大促中大放異彩的“螞蟻花唄”為例,大致介紹一個新業務是如何從頭開始準備大促的。
架構
支付寶的架構設計上應該考慮到互聯網金融業務的特殊性,比如要求更高的業務連續性,更好的高擴展性,更快速的支持新業務發展等特點。目前其架構如下:
支付寶和螞蟻花唄的技術架構及實踐
整個平臺被分成了三個層:

  1. 運維平臺(IAAS):主要提供基礎資源的可伸縮性,比如網絡、存儲、數據庫、虛擬化、IDC等,保證底層系統平臺的穩定性;
  2. 技術平臺(PAAS):主要提供可伸縮、高可用的分布式事務處理和服務計算能力,能夠做到彈性資源的分配和訪問控制,提供一套基礎的中間件運行環境,屏蔽底層資源的復雜性;
  3. 業務平臺(SAAS):提供隨時隨地高可用的支付服務,并且提供一個安全易用的開放支付應用開發平臺。
    架構特性
    邏輯數據中心架構
    在雙十一大促當天業務量年年翻番的情況下,支付寶面臨的考驗也越來越大:系統的容量越來越大,服務器、網絡、數據庫、機房都隨之擴展,這帶來了一些比較大的問題,比如系統規模越來越大,系統的復雜度越來越高,以前按照點的伸縮性架構無法滿足要求,需要我們有一套整體性的可伸縮方案,可以按照一個單元的維度進行擴展。能夠提供支持異地伸縮的能力,提供N+1的災備方案,提供整體性的故障恢復體系。基于以上幾個需求,我們提出了邏輯數據中心架構,核心思想是把數據水平拆分的思路向上層提到接入層、終端, 從接入層開始把系統分成多個單元,單元有幾個特性:
  4. 每個單元對外是封閉的,包括系統間交換各類存儲的訪問;
  5. 每個單元的實時數據是獨立的,不共享。而會員或配置類對延時性要求不高的數據可共享;
  6. 單元之間的通信統一管控,盡量走異步化消息。同步消息走單元代理方案;
    下面是支付寶邏輯機房架構的概念圖:
    支付寶和螞蟻花唄的技術架構及實踐
    這套架構解決了幾個關鍵問題:
  7. 由于盡量減少了跨單元交互和使用異步化,使得異地部署成為可能。整個系統的水平可伸縮性大大提高,不再依賴同城IDC;
  8. 可以實現N+1的異地災備策略,大大縮減災備成本,同時確保災備設施真實可用;
  9. 整個系統已無單點存在,大大提升了整體的高可用性;同城和異地部署的多個單元可用作互備的容災設施,通過運維管控平臺進行快速切換,有機會實現100%的持續可用率;
  10. 該架構下業務級別的流量入口和出口形成了統一的可管控、可路由的控制點,整體系統的可管控能力得到很大提升。基于該架構,線上壓測、流量管控、灰度發布等以前難以實現的運維管控模式,現在能夠十分輕松地實現。
    目前新架構的同城主體框架在2013年已經完成,并且順利的面對了雙十一的考驗,讓整套架構的落地工作得到了很好的證明。

在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服務解決方案,整體數據架構的解決方案盡量做到無廠商依賴,并且標準化。

支付寶分布式數據架構可伸縮策略主要分為三個維度:

  1. 按照業務類型進行垂直拆分
  2. 按照客戶請求進行水平拆分(也就是常說的數據的sharding策略)
  3. 對于讀遠遠大于寫的數據進行讀寫分離和數據復制處理
    下圖是支付寶內部交易數據的可伸縮性設計:
    支付寶和螞蟻花唄的技術架構及實踐
    交易系統的數據主要分為三個大數據庫集群:
  4. 主交易數據庫集群,每一筆交易創建和狀態的修改首先在這?完成,產生的變更再通過可靠數據復制中心復制到其他兩個數據庫集群:消費記錄數據庫集群、商戶查詢數據庫集群。該數據庫集群的數據被水平拆分成多份,為了同時保證可伸縮性和高可靠性,每一個節點都會有與之對應的備用節點和failover節點,在出現故障的時候可以在秒級內切換到failover節點。
  5. 消費記錄數據庫集群,提供消費者更好的用戶體驗和需求;
  6. 商戶查詢數據庫集群,提供商戶更好的用戶體驗和需求;
    對于分拆出來的各個數據節點,為了保證對上層應用系統的透明,我們研發一套數據中間產品來保證交易數據做到彈性擴容。
    數據的可靠性
    分布式數據架構下,在保證事務原有的ACID(原子性、一致性、隔離性、持久性)特性的基礎上,還要保證高可用和可伸縮性,挑戰非常大。試想你同時支付了兩筆資金,這兩筆資金的事務如果在分布式環境下相互影響,在其中一筆交易資金回滾的情況下,還會影響另外一筆是多么不能接受的情況。

根據CAP和BASE原則,再結合支付寶系統的特點,我們設計了一套基于服務層面的分布式事務框架,他支持兩階段提交協議,但是做了很多的優化,在保證事務的ACID原則的前提下,確保事務的最終一致性 。我們叫做“柔性事物”策略。原理如下:
支付寶和螞蟻花唄的技術架構及實踐
以下是分布式事務框架的流程圖:
實現:

  1. 一個完整的業務活動由一個主業務服務與若干從業務服務組成。
  2. 主業務服務負責發起并完成整個業務活動。
  3. 從業務服務提供TCC型業務操作。
  4. 業務活動管理器控制業務活動的一致性,它登記業務活動中的操作,并在活動提交時確認所有的兩階段事務的confirm操作,在業務活動取消時調用所有兩階段事務的cancel操作。”
    與2PC協議比較:
  5. 沒有單獨的Prepare階段,降低協議成本
  6. 系統故障容忍度高,恢復簡單
    其中關鍵組件異步可靠消息策略如下:
    支付寶和螞蟻花唄的技術架構及實踐
    其中一些關鍵設計點:
  7. 若在第2、3、4步出現故障,業務系統自行決定回滾還是另起補償機制;若在第6、7步出現異常,消息中心需要回查生產者;若在第8步出現異常,消息中心需要重試。第6步的確認消息由消息中心組件封裝,應用系統無需感知。
  8. 此套機制保障了消息數據的完整性,進而保障了與通過異步可靠消息通訊的系統數據最終一致性。
  9. 某些業務的前置檢查,需要消息中心提供指定條件回查機制。

螞蟻花唄
螞蟻花唄是今年增加的一個新支付工具,“確認收貨后、下月還”的支付體驗受到了越來越多的消費者信賴。跟余額和余額寶一樣,螞蟻花唄避開了銀行間的交易鏈路,最大限度避免支付時的擁堵。據官方數據披露,在今天的雙十一大促中,螞蟻花唄支付成功率達到99.99%、平均每筆支付耗時0.035秒,和各大銀行渠道一起確保了支付的順暢。

螞蟻花唄距今發展不到一年,但發展速度非常快。從上線初期的10筆/秒的支付量發展到雙十一當天峰值2.1w筆/秒。支撐螞蟻花唄業務發展的技術體系經過不斷演進、已經完全依托于螞蟻金服的金融云架構。

在2014年12月,螞蟻花唄團隊完成業務系統優化,按照標準將系統架設到了金融云上,依次對接了渠道層、業務層、核心平臺層、數據層,使得用戶對螞蟻花唄在營銷、下單和支付整個過程中體驗統一。

2015年4月,螞蟻花唄系統同步金融云的單元化的建設,即LDC,使得數據和應用走向異地成為了現實,具備了較好的擴展性和流量管控能力。在可用性方面,與金融云賬務體系深度結合,借用賬務系統的failover能力,使得螞蟻花唄通過低成本改造就具備了同城災備、異地災備等高可用能力。任何一個單元的數據庫出了問題、能夠快速進行容災切換、不會影響這個單元的用戶進行螞蟻花唄支付。在穩定性方面,借助于云客戶平臺的高穩定性的能力,將螞蟻花唄客戶簽約形成的合約數據遷移進去,并預先寫入云客戶平臺的緩存中,在大促高峰期緩存的命中率達到100%。同時,結合全鏈路壓測平臺,對螞蟻花唄進行了能力摸高和持續的穩定性測試,發現系統的性能點反復進行優化,使得大促當天系統平穩運行。在之前的架構中,系統的秒級處理能力無法有效衡量,通過簡單的引流壓測無法得到更加準確、可信的數據。立足于金融云,系統很快通過全鏈路壓測得到了每秒處理4w筆支付的穩定能力。

螞蟻花唄業務中最為關鍵的一環在于買家授信和支付風險的控制。從買家下單的那一刻開始,后臺便開始對虛假交易、限額限次、套現、支用風險等風險模型進行并行計算,這些模型最終將在20ms以內完成對僅百億數據的計算和判定,能夠在用戶到達收銀臺前確定這筆交易是否存在潛在風險。

為了保證螞蟻花唄雙11期間的授信資金充足,在金融云體系下搭建了機構資產中心,對接支付清算平臺,將表內的信貸資產打包形成一個一定期限的資產池,并以這個資產池為基礎,發行可交易證券進行融資,即通過資產轉讓的方式獲得充足資金,通過這一創新確保了用戶能夠通過花唄服務順利完成交易,并分流對銀行渠道的壓力。通過資產證券化運作,不僅幫助100多萬小微企業實現融資,也支撐了螞蟻花唄用戶的消費信貸需求。螞蟻小貸的資產證券化業務平臺可達到每小時過億筆、總規模數十億元級別的資產轉讓。
總結
經過這么多年的高可用架構和大促的準備工作,螞蟻金融技術團隊可以做到“先勝而后求戰”,主要分為三方面技術積累:“謀”,“器”,“將”。
“謀”就是整體的架構設計方案和策略;
“器”就是支持技術工作的各種基礎中間件和基礎組件;

點擊關注,互聯網研發架構師
支付寶和螞蟻花唄的技術架構及實踐

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

札达县| 育儿| 云阳县| 阿坝县| 昭平县| 轮台县| 道孚县| 邹城市| 灌阳县| 太仆寺旗| 新和县| 泰宁县| 沛县| 玛沁县| 梅河口市| 安国市| 全椒县| 韶关市| 安新县| 汤阴县| 五指山市| 五寨县| 昌乐县| 舞阳县| 湘潭县| 田东县| 鹤壁市| 南城县| 平潭县| 集安市| 车致| 茂名市| 九江县| 唐海县| 门头沟区| 阿拉善右旗| 阳原县| 庄浪县| 西华县| 文安县| 镇江市|