摘要:幾百萬人同時下單,你搶到的概率為何越來越大?電商企業又是如何掌握大促期間上億的銷售資料?
本文分享自華為雲社群《618 技術特輯(二)幾百萬人同時下單的秒殺,為什麼越來越容易搶到了?》,原文作者:技術火炬手。
把心儀的商品加入購物車,點選結算,付款,商品頁面的銷量+1,庫存量-1,如果只有幾十個人下單,系統輕鬆應付,但是當這個數量變為百萬、千萬,就是另一番情形了。
電商企業在大促期間面臨流量訪問壓力:網站的訪問使用者激增讓單伺服器超負荷執行,從而導致網站訪問卡頓或失敗,嚴重影響使用者體驗,彈性負載均衡服務可以輕鬆解決這個難題。
彈性負載均衡:哪裡壓力大往哪裡搬
彈性負載均衡(Elastic Load Balance,簡稱ELB)是將訪問流量根據轉發策略分發到後端多臺伺服器的流量分發控制服務,華為雲的ELB就可以通過流量分發擴充套件應用系統對外的服務能力,並通過消除單點故障提升應用系統的可用性。
面對不同的電商業務需求,ELB可以靈活處理。舉個例子,對於業務量訪問較大的業務,可以通過ELB設定相應的轉發規則,將訪問量均勻的分到多個後端雲伺服器處理;對於存在潮汐效應的業務,可以隨時在ELB上新增和移除後端雲伺服器,比如在大促第一波高潮前增加伺服器,到了中期再移除,最後收尾的時候重新加上。
這樣既能保證大促期間,商品頁面不會因為過多訪問而阻塞,也能控制成本的開支。但運營人員如何知道什麼時候新增/減少伺服器,什麼時候為ELB設定轉發規則,就得對整個促銷的節奏以及自家產品資料有基本的預判。
所以,大促期間,除了訪問流量壓力,更讓人頭疼的則是資料的實時分析管理能力。
資料倉儲:有貨沒貨,賣了多少單,系統門清
通常情況下,電商資料主要分兩塊:
- 第1類是面向交易的訂單、商品、活動、發貨等資料;
- 第2類是平臺執行的實時日誌及使用者在平臺上活動產生的行為資料。
如果企業無法應對大規模線上交易及“實時分析”的業務要求,這“618”這樣的大促中就無法掌握主動權。
舉個例子,某運動服飾類電商企業原有系統採用傳統解決方案,交易和BI相互獨立。交易平臺採用分散式中介軟體+單機版資料庫搭建。由於該方案不具備資料的強一致效能力,在同一時刻系統中資料可能是不完整、不準確的,比如一分前已經銷售了100單,但庫存沒有變化,最後為銷售對單帶來極大困難。為保證資料的最終一致性,交易系統資料需要通過ETL工具時隔數小時後同步到BI系統,無法做到實時分析,銷售及運營主管無法實時掌握經營情況。
為了解決這個問題,他們後來採用了華為雲混合負載資料倉儲DWS。DWS採用“一庫兩用”的設計理念,一套資料倉儲叢集既可以支援超高併發、低時延的業務交易請求,同時可支撐複雜的海量資料分析和BI應用,減少開發和運維成本。相比於原系統,BI系統時效性大大提高,且資料分析效能提升3倍。
做到資料實時一致的同時,DWS也確保了對單資料的準確,以及運營報表的“零”時延。
DWS小規模可支援萬級TPS的寫入能力,橫向擴充套件後可達百萬至千萬級TPS,支撐該電商企業平穩度過 “雙十一”、“雙十二”。而且由於它原生具備分散式事務ACID特性,具有資料的強一致性保證,在任何時刻均可保證交易系統資料的準確性、完整性,確保對單資料無誤。再加上DWS的高可用架構設計,提供自動化資料備份功能,可靠性達到小數點後的11個9,保障業務資料不丟失。
資料視覺化:銷售有沒有破紀錄,就看它了
當我們把不同系統模組資料整合到數倉中,讓它進一步清洗、整合、規則處理,實現實時、完整以及準確的資料後,還需要通過資料視覺化平臺推送到產品及運營人員進行可視分析。
華為商城之前就將電商大資料應用由TIDB+Spark叢集搬遷到基於華為雲以DWS資料庫為核心的數倉平臺中。
在資料的實時整合方面,華為雲提供了基於Flink、Spark兩種流計算引擎的CS流計算服務。隨著Flink社群的活躍及FlinkSQL對應用開發者極大的門檻降低,通過SQL的形式即可實現流計算。
華為雲將通用的訊息中介軟體封裝成對應資料輸入的source運算元,邏輯層用SQL作為表示,各種資料儲存平臺作為sink運算元封裝。如果用原生Flink API的方式,開發及釋出一個簡短的輸入輸出任務,起碼2小時才可以完工,但現在一站式的流計算平臺10分鐘即可完成。 而且進行語法校驗後,絕大多數問題都可以在這個環節規避,釋出之後,就能通過資料可視介面,檢視其輸入輸出的資料資訊進行校驗監控。
BI資料可視模組選擇的是華為雲DLV服務,以大屏場景為主。華為商城某次大促活動需要臨時加一個指揮大屏看資料,2個開發人員加了2小時班,一個做前臺,一個處理資料邏輯,很快完成了0.1版本併發布,之後再持續迭代優化效果。
圖:某企業經營資料看板
核心數倉裝備之外,DAYU資料開發套件平臺可極大提升釋出效率,DAYU以資料排程平臺為核心作為擴充套件,融合了資料監控、後設資料庫管理、資料服務釋出,這些服務華為商城大資料平臺都有逐步使用。
簡單介紹下其中開發人員最常用的DLF(排程平臺),以一個資料API釋出來說,開發人員先在DLF上開啟一個Job,拖入三個任務:CDM(將TIDB任務整合到DWS)、2個DWS SQL(一個做DWR層規則處理,一個做資料DWD結果呈現),然後將結果表資料通過DAYU的DLG服務進行API釋出,其他領域即可進行呼叫。
電商企業上雲後,解決了基礎設施的難題,得以把更多的精力聚焦在業務邏輯開發上,不用再考慮服務負載均衡,容災等等,也降低了運維的負擔和人力成本。對於消費者來說,大促期間的搶購體驗更好,流量高峰期下單也能搶到心儀的商品。
最後
電商在爭奪消費者的戰爭中,技術的進步至關重要。從消費需求的產生,到購買行為的深入,從供應鏈到平臺交易資料的分析管理,從直播帶貨的低時延到業務資料的安全,雲端計算、AI、大資料等技術的迭代,一步步改變線上購物的模式,也定義了新的商業模式。
曾經,AR/VR技術在內容呈現和消費者互動上提供了新的可能性,隨著5G技術的成熟,以及經歷前期高投入和試錯後,模擬真實場景的VR購物,或許會讓足不出戶邊逛邊買成為一種常態化的購物模式。
在消費者的另一端——智慧物流側,IoT、邊緣計算、機器視覺、無人駕駛,這些技術已經在改變傳統的物流倉儲和運送體系,從自動化立體倉儲、自動輸送、自動分揀到機器人作業,規整統一的自動化操作提高了運作效率。
618是消費者購物狂歡的節日,它對電商企業也是一次大考,創新高的業績背後考驗他們的技術實力。換個角度看,618在拉動內需的同時,也拉緊了技術創新、產業升級背後的那根繩子。
618技術特輯(一)不知不覺超預算3倍,你為何買買買停不下來?如果你想了解為什麼每當大促的時候,我們的錢包總是被掏空?這背後到底是大家自制力不夠,還是電商平臺太會讀懂人心,我們不妨從技術維度,抽絲剝繭一探究竟。