沃爾瑪騰訊雲 Serverless 應用實踐,全力保障消費者購物體驗

深耕零售,沒有比中國更好的地方,也沒有比現在更好的時間。1996 年,國際零售巨頭沃爾瑪進入中國,在深圳開設了第一家山姆會員商店。25 年後的今天,山姆會員商店擁有 數百萬付費會員,成爲國內遙遙領先的會員制商店。

<img src="https://main.qcloudimg.com/raw/aa42dcca695253efe28e797785e57bdb.png" width="700"/>

當位於深圳的山姆會員商店連續 10 餘年成爲沃爾瑪全球銷售第一的門店,沃爾瑪又一次亮出了優秀的業績。爲什麼能夠在極度競爭的中國零售市場保持強勁增長?2020 年全球零售行業調研報告作出瞭如下總結:在沃爾瑪,各種各樣的先進技術被廣泛應用以提高工作效率。沃爾瑪的管理者認爲,先進的科技在零售市場將有助於沃爾瑪贏得競爭

01.「顧客至上,服務第一」,騰訊雲 Serverless 解決方案

顧客至上是零售行業的服務宗旨。但是消費者對購物體驗的要求越來越高,業務迭代速度越來越快。山姆會員商店要保持前瞻性,線上銷售渠道必須快速迭代創新,不斷爲消費者創造新的購物體驗。

<img src="https://main.qcloudimg.com/raw/0067ccf3d797f49b6db267c4b24ed19d.png" width="500"/>

難點1 :應用發佈頻率高

山姆會員商店業務迭代快、應用發佈頻率高,基本保持在一週一迭代。

難點2:保障用戶最佳體驗

版本升級的基本要求是:對用戶無感知,在升級過程中應用的無損發佈。

難點3: 資源消耗大

零售行業線上流量巨大,一個應用可能需要上千臺服務器,採用藍綠部署時,如果在線上發佈,需要再備份一千臺服務器,對資源消耗造成極大的損失。

<img src="https://main.qcloudimg.com/raw/e6123c616622c5d428d1d38c730988dc.png" width="700"/>

(山姆會員商店藍綠髮布架構圖)

典型的開發流程從開發測試到集成測試,到預發測試,再到發佈上線,每個研發階段都有對應的環境做支撐,而每個環境都會消耗資源和成本,來保持服務在線。傳統的版本灰度發佈模式面臨環境多、資源消耗多、成本高等困境。

<img src="https://main.qcloudimg.com/raw/a4162a95da539a65abaa91e5562e9d1c.png" width="700"/>

(環境多、資源消耗大)

騰訊雲山姆會員商店項目負責人李逸期在智慧零售深耕多年,從 0 到 1 搭建了山姆會員商店 APP 的技術架構。秉承沃爾瑪公司用科技助力市場的戰略,李逸期對以賦能業務爲目標的技術創新,保持着極致化的追求。多種方案對比後,山姆會員商店選擇了騰訊云云函數 SCF ( Serverless Cloud Function ) 默認別名灰度發佈策略

雲函數 SCF 默認別名灰度發佈

默認別名是配置雲函數的 $default(默認流量)別名,別名中固定有 2 個雲函數版本:一個爲 $latest 版本,一個爲最後一次函數發佈的版本。部署時配置的 traffic 參數爲 $latest 版本流量佔比,默認另一部分流量切到當前雲函數最後一次發佈的版本。

每次上線一個新功能,執行 sls deploy 會部署到 $latest 版本上。版本發佈時先切部分流量在 $latest 版本上進行觀察,穩定後逐步將流量切到 $latest 版本。當流量切到 100% 時,固化當前版本,並將流量全部切到固化後的版本。

<img src="https://main.qcloudimg.com/raw/d734d172285dc5c40f603d7c323117ac.png" width="700"/>

(雲函數默認別名灰度發佈圖)

優勢 1 :風險控制保障用戶體驗

首先,控制變更的風險,一旦發現新版本有異常,隨時可以調整流量比例進行回滾;其次,客戶端和雲函數一起進行灰度,即使需要做一些破壞性變更,例如協議變更時,也不用擔心線上版本是否兼容新的協議。

優勢 2 :快速驗證適應高頻迭代

Serverless 模式下,環境隔離、可直接發佈,提升高頻部署時的研發效率,適合做產品特性的快速驗證。

優勢 3 :彈性擴縮容節約成本

Serverless 在沒有訪問量時自動縮容,可以極大節約部署多環境的成本。

當遇到更加複雜的版本發佈策略時,雲函數自定義別名可以提供更靈活的版本切換方式。自定義別名的配置方式相對於默認別名更復雜,適用於對灰度發佈能力要求較高的業務場景。

<img src="https://main.qcloudimg.com/raw/e07212bb192705fbec7f952bb5438a21.png" width="700"/>

(雲函數自定義別名灰度發佈圖)

02. 零售電商場景中 Serverless 應用

1. 電商大促等波峯波谷型業務

每年雙 11、618 等電商大促期間,零售行業線上渠道面臨歷史級別的流量挑戰,中大型電商平臺的峯值調用量可達上千萬/分鐘,面臨高於日常 10-20 倍的流量壓力。日常運營活動中,例如精品秒殺、限時搶購等,電商平臺也同樣面臨大流量高併發、波峯波谷用戶流量明顯分化的典型場景。

雲函數 SCF 提供彈性、可擴展的基礎設施和護航服務,幫助電商客戶把握業務增長的機遇,從容應對挑戰。

<img src="https://main.qcloudimg.com/raw/9c7e00b2316b28fa9d62f2dcdb05ef4a.png" width="700"/>

(電商彈性大促架構圖)

  • 瞬時冷啓動

雲函數 SCF 底層採用自研的輕量級虛擬化技術,Micro Vm 啓動時間短至 90 毫秒,函數 冷啓動減低至 200 毫秒,並且支持上萬臺計算節點同時擴容。

  • 實時擴縮容

基於函數請求實時計算的模式,動態的擴縮函數實例,優化函數冷啓動的體驗問題,以及控制函數計算的資源成本 。

  • 預置併發

在秒殺、搶購等場景中,瞬間需要海量的計算資源。雲函數預置併發,可支持併發實例按配置預先啓動,提前“預熱”函數,爲業務高峯提前準備計算資源,消除冷啓動、降低運行環境初始化及業務代碼初始化引起的耗時。

2. 電商直播等 CPU 密集型業務

直播帶貨已成爲線上零售平臺的標配功能。電商直播中,需要專業、穩定的直播推流、轉碼、分發、播放等服務,滿足超低延遲、超高畫質、超大併發訪問量的要求。在直播結束後,通常需要對回播視頻進行處理,例如音視頻轉碼混流、回播視頻二次分發和存儲等。

相較於自建轉碼服務器,雲函數 SCF 無需考慮轉碼服務器閒置時間的利用效率、以及服務器運維等問題。

<img src="https://main.qcloudimg.com/raw/63223e71b3faa845afa7394d081a422b.png" width="700"/>

(雲函數電商直播方案)

  • 平滑遷移快速上線

支持用戶自定義配置 FFmpeg 命令參數、以及部署自建 FFmpeg,轉碼方式靈活,也可以便捷地從物理機、雲主機或容器中移植到雲函數。

  • 解決算力瓶頸

大規格實例最高支持 128GB/64C 進行 4K 高清視頻轉碼,結合資源彈性伸縮能力,有效保證轉碼效率。

  • 按量計費成本優勢

視頻轉碼是高運算負荷的 CPU 密集型業務,需要對輸入的視頻流進行全解碼、視頻過濾/圖像處理、並對輸出格式進行全編碼。雲函數的1毫秒粒度按用量計費,擁有顯著的成本優勢。

3. 智能圖片處理等事件驅動型業務

在電商平臺上,每天都會有大量商品圖片的查詢請求和更新請求。高峯情況下,每天有千萬級甚至億級的圖片處理需求。傳統方案需要搭建一個在線服務器並部署 Web 應用來進行圖片處理,程序按照一定規則定時觸發事件。

在傳統方案中,主要有三個困擾:

  1. 沒有請求時,空置率較高;

  2. 需要專門維護一套運行處理代碼;

  3. 需要考慮併發和定時器的執行方法,來保障圖片處理的及時性。

而在 Serverless 架構中,雲函數 SCF 提供圖片裁剪、增加水印等多種處理能力,滿足電商業務的圖片處理訴求。同時針對圖片處理、存儲的高可用要求,可以支持對象存儲的跨區域高可用部署。

<img src="https://main.qcloudimg.com/raw/ceeb9c03a30682f2e228b2f45eb70151.png" width="700"/>

(雲函數圖像處理方案)

用戶僅需要在雲函數 SCF 上設置觸發器 + 函數,當用戶把圖片上傳到對象存儲中,將會觸發函數代碼進行圖片處理,並把圖片轉移到新的存儲桶中。整個過程,不需要搭建 Web 服務器,無需編寫觸發條件,也無需關注業務運維。

“中國市場是充滿競爭的,但機遇也是巨大的。我們將持續保持技術的驅動力和領先性,以更高的質量和更快的速度完成一次次的產品迭代,保障每一天的消費者體驗。”

—— Jason Wang ,沃爾瑪中國 技術總監

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 騰訊雲 Serverless 新手體驗

歡迎訪問:Serverless 中文網

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