1. 程式人生 > 其它 >案例 | 沃爾瑪 x 騰訊雲 Serverless 應用實踐,全力保障消費者購物體驗

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

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

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

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

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

難點1 :應用釋出頻率高
山姆會員商店業務迭代快、應用釋出頻率高,基本保持在一週一迭代。
難點2:保障使用者最佳體驗
版本升級的基本要求是:對使用者無感知,在升級過程中應用的無損釋出。
難點3: 資源消耗大
零售行業線上流量巨大,一個應用可能需要上千臺伺服器,採用藍綠部署時,如果在線上釋出,需要再備份一千臺伺服器,對資源消耗造成極大的損失。

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

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

(環境多、資源消耗大)

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

雲函式 SCF 預設別名灰度釋出

預設別名是配置雲函式的 $default(預設流量)別名,別名中固定有 2 個雲函式版本:一個為 $latest 版本,一個為最後一次函式釋出的版本。部署時配置的 traffic 引數為 $latest 版本流量佔比,預設另一部分流量切到當前雲函式最後一次釋出的版本。
每次上線一個新功能,執行 sls deploy 會部署到 $latest 版本上。版本釋出時先切部分流量在 $latest 版本上進行觀察,穩定後逐步將流量切到 $latest 版本。當流量切到 100% 時,固化當前版本,並將流量全部切到固化後的版本。

(雲函式預設別名灰度釋出圖)

優勢 1 :風險控制保障使用者體驗
首先,控制變更的風險,一旦發現新版本有異常,隨時可以調整流量比例進行回滾;其次,客戶端和雲函式一起進行灰度,即使需要做一些破壞性變更,例如協議變更時,也不用擔心線上版本是否相容新的協議。
優勢 2 :快速驗證適應高頻迭代
Serverless 模式下,環境隔離、可直接釋出,提升高頻部署時的研發效率,適合做產品特性的快速驗證。
優勢 3 :彈性擴縮容節約成本
Serverless 在沒有訪問量時自動縮容,可以極大節約部署多環境的成本。

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

(雲函式自定義別名灰度釋出圖)

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

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

每年雙 11、618 等電商大促期間,零售行業線上渠道面臨歷史級別的流量挑戰,中大型電商平臺的峰值呼叫量可達上千萬/分鐘,面臨高於日常 10-20 倍的流量壓力。日常運營活動中,例如精品秒殺、限時搶購等,電商平臺也同樣面臨大流量高併發、波峰波谷使用者流量明顯分化的典型場景。
雲函式 SCF 提供彈性、可擴充套件的基礎設施和護航服務,幫助電商客戶把握業務增長的機遇,從容應對挑戰。

(電商彈性大促架構圖)

瞬時冷啟動

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

實時擴縮容

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

預置併發

在秒殺、搶購等場景中,瞬間需要海量的計算資源。雲函式預置併發,可支援併發例項按配置預先啟動,提前“預熱”函式,為業務高峰提前準備計算資源,消除冷啟動、降低執行環境初始化及業務程式碼初始化引起的耗時。

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

直播帶貨已成為線上零售平臺的標配功能。電商直播中,需要專業、穩定的直播推流、轉碼、分發、播放等服務,滿足超低延遲、超高畫質、超大併發訪問量的要求。在直播結束後,通常需要對回播視訊進行處理,例如音視訊轉碼混流、回播視訊二次分發和儲存等。
相較於自建轉碼伺服器,雲函式 SCF 無需考慮轉碼伺服器閒置時間的利用效率、以及伺服器運維等問題。

(雲函式電商直播方案)

平滑遷移快速上線

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

解決算力瓶頸

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

按量計費成本優勢

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

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

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

  1. 沒有請求時,空置率較高;
  2. 需要專門維護一套執行處理程式碼;
  3. 需要考慮併發和定時器的執行方法,來保障圖片處理的及時性。
    而在 Serverless 架構中,雲函式 SCF 提供圖片裁剪、增加水印等多種處理能力,滿足電商業務的圖片處理訴求。同時針對圖片處理、儲存的高可用要求,可以支援物件儲存的跨區域高可用部署。

(雲函式影象處理方案)

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

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

GitHub: github.com/serverless
官網: cloud.tencent.com/product/serverless-catalog

【騰訊雲原生】雲說新品、雲研新術、雲遊新活、雲賞資訊,掃碼關注同名公眾號,及時獲取更多幹貨!!