從大麥網架構學到的東西

業務特點

大麥業務鏈條涵蓋了從B端生產、C端銷售、現場換驗的全套流程。其業務架構也經過幾個階段的發展:

  • 第一階段:保障不健全、設施不完善;
  • 第二階段:支持部分大型搶票需求;
  • 第三階段:“體系化”承接所有大型搶票需求;
  • 第四階段:“常態化”體驗優化;

第一階段

此時的大麥技術還在大麥自己的IDC內,主要是原有大麥技術架構承擔需求。此時的架構存在以下幾個問題:

  1. 保障設施不健全:大麥IDC機房硬件、快遞均有限制,DB還是Sql Server,很多庫是單庫,不能應對大型搶票時的挑戰;
  2. 預案、限流不健全:系統在面對高流量時,沒有自我保護措施;
  3. 監控運維手段零散:定位問題、解決問題耗時長;

解決方案

這一階段主要是一些零散解決方案,針對問題解決。比如搭建簡易版限流方案,做性能優化點,整體上未體系化解決問題。

第二階段

第二階段由於已經被阿里收購,所以架構重構直接切入阿里域內解決方案,逐步替換掉老系統。

這一階段的關鍵就是新老方案的遷移:

  1. APP鏈路改造:技術改造重點放在無線端,所有APP流量先進入阿里域,再路由到大麥IDC,讓阿里機房抵擋大量流量;
  2. 藉助阿里基礎運維設施:由於入口流量直接進入阿里域,降級、限流的動作可以依賴於阿里服務治理平臺能力做;
  3. 建立搶票預案:圍繞於大型搶票場景做預案建設,比如商詳頁增加tair緩存,靠tair抗住阿里域流量,建設流量打到大麥IDC;

第三階段

第三階段針對於搶票流程上的系統做了體系化升級,完善了搶票流程和可靠保障機制。升級後的架構可以承接住所有大型搶票需求,用戶體驗有所提升。

優化動作:

  1. 精簡了搜索response過大的問題,降低了對寬帶的壓力;
  2. 在阿里域內,大型搶票選座流量直接打到了阿里域內,採用異步和類似ConcurrentHashMap的平衡機制,解決了大麥IDC選座的緩存一致性問題;
  3. 繼續完善阿里域內交易鏈路功能,下單接口全部放在阿里域內,下單之後訂單同步到大麥IDC內服務履約;

保障流程:

大麥主要是票務平臺,主要保障的黃金鍊路就是搶票,針對於這個鏈路需要建立可靠性保障和SOP。

搶票分爲搶票前、搶票中、搶票後等環節:

  • 搶票前:重點是由業務方搶票申報,再由技術方確認是否安排預演或壓測,由業務方判斷預案執行範疇及風控級別;
  • 搶票中:重點監控和過程中的應急處理,每逢大促,各個角色聚集一起,各司其職;

圍繞於搶票流程,可靠性保障包括:預案/預演/容量等專項;

  1. 預案建設:已有成熟的流程不再安排預演,新玩法需要模擬搶票,提前暴露問題,並建立體驗問題預案;
  2. 容量保障:技術拉取全鏈路最近類似項目壓測數據作爲基礎數據,和線上真實流量做評估,分析搶票環節是否可以順利支撐,是否存在性能瓶頸,是否需要做限流;
  3. 預案執行:在全鏈路中找到核心場景,如:首頁搜索、商品詳情、票務選座、交易下單、票務庫存、訂單服務、無線端等場景建立預案。同時將高頻使用緩存信息在活動開始30分鐘預熱到緩存中;
  4. 問題覆盤:針對於每次活動出現的問題、客服反饋、線上問題進行收集,組織覆盤,並將todo落實到action上,關注action執行進度;

第四階段

在進行了全鏈路系統性完善之後,我們依然不能說肯定不會出現宕機的問題。因爲搶票環節註定是少數人可以搶到票,搶不到票的可能在輿情瘋狂吐槽。爲解決這些問題,我們需要爲真正的用戶提供極致體驗。

新交易系統上線,融合了大麥交易系統和阿里星環平臺,渲染接口、下單接口基於星環實現大麥特性擴展。

星環帶來的優點有3點:

  1. 依託於共享基礎能力,除了可以複用共享能力外,還可以參考主站交易的大促方案,比如限流、監控日誌、問題排查等。基於星環可以實現未支付關單等個性化能力定製,提高研發效率;

  2. 結合集團風控體系,人機識別、定製策略等對非法用戶進行了二次攔截,讓真實用戶搶票體驗更好,大大提升了真實用戶購買率;

爲摸清交易鏈路的性能水位,需要做到性能常態化,每月定時執行壓測、結合當月各項系統功能,評估壓測場景和壓測目標,壓測完成後,更新鏈路現狀,爲搶票提供有效數據支撐。

之前的可靠性保障規範不完善,監控、預案、入口不統一。所以建立預案自動化平臺,運營在配置搶票活動時【搶票開始前】,可以設置一些預案;在【搶票進行中】可以對核心場景進行統一視圖監控,並且有能力實現人爲干預和控制;在【搶票結束後】提供歷次搶票數據,供分析,幫助運營自助完善,實現自動化流程。

比如針對於商詳頁,有6-10項降級預案(包括本地緩存或tair緩存、三方依賴接口限流、異常降級等),每個預案設置的值,執行時間都有差異,每次降級操作都需要人工經驗判斷,操作繁瑣。這裏需要實現自動化或系統容錯實現降級。

總結

經過以上幾個階段,大麥從最開始的“原始”狀態進化到了“常態化”流量壓測、預案執行新階段,系統可靠性提升,用戶體驗提高。後續還需要在項目熱度智能分析、風控自動調節等方向進行持續優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章