開發與維運

訂單峰值激增 230%,Serverless 如何為世紀聯華降本超 40%?|雙11 雲原生實踐

聯華華商旗下的世紀聯華超市近期迎來了一年一度的 “雙11” 大促活動。

時光回到 2014 年的 雙12,支付寶聯合杭州多家線下品牌和商場門店,推出五折優惠促銷活動。在這一次消費狂歡中,濱江區世紀聯華店所有的櫃員 POS 機前排起了長隊,隊伍移動速度異常緩慢,商場工作人員表示,服務器出現異常導致支付出了問題。

6 年後的今天,視線再次回到世紀聯華超市 雙11 大促現場,人潮湧動,卻井然有序。參與大促的人數是 6 年前的幾倍,但現場支付卻穩定又順滑,這種天壤之別的轉變,源於世紀聯華對雲原生技術的大膽嘗試。

image.png

世紀聯華大促現場

技術架構演進之路

我們有幸採訪到世紀聯華的技術人員,瞭解到世紀聯華在技術架構演進一路走來的不容易。

2014 年及以前:物理單機架構的災難

過去所有 POS 機及會員卡支付機器全部部署在各個門店,這套架構持續了近十年之久。

這套架構的最大好處是不受網絡影響,在當年網絡基礎建設還不完善的情況下,商家可以盡最大可能地保障單個門店的交易穩定性不受外界影響。這套架構的最大問題是:當門店機器出現故障時,專業的技術管理員很難第一時間趕到現場及時修復,系統維護工作變得十分困難。

2014 年世紀聯華的 雙12 活動中,因為業務遭遇爆炸性流量,多個門店支付時好時壞,短時間也無法維護,導致用戶體驗差,這讓世紀聯華的技術人決心改進這套使用了十多年的老系統。

2014~2018 年:中央機房部署架構的演進

在 2014 年經歷了 雙12 大促活動的問題後,聯華技術人決心改進各項系統,於是將交易系統和會員系統陸續遷移到自建的中央物理機房,商品系統也改遷為中央下發機器,在浙江省各個門店的 POS 機,通過互聯網連接至中央機房。

相比 2014 年以前的架構,新架構主要解決了三個問題:

  • 問題修復可集中維護處理
  • 商品調整價格下發全走網絡
  • 數據可以集中查詢統計

然而新架構遺留的最大的問題是:

  • 管理人員需要掌握所有機器細節
  • 運維過程中可能出現宕機、斷網等事件,調查相對困難,應急處理方案薄弱

2018 年~2019 年年中:全面上雲

隨著國內公共雲建設的進一步發展,世紀聯華也開始全面使用阿里雲產品,將本地業務包括 MySQL 等全部遷移到了阿里雲 ECS 上。

全面上雲很好地應對了宕機、計算節點斷網等事件的發生,這也堅定了世紀聯華使用阿里雲的決心。

然而業務急劇的擴展,數據庫的查詢寫入越來越多,全面上雲的架構在 2019 年中促銷活動中,某臺 16 核 32G 的 MySQL 數據庫所在的 ECS ,因為會員查詢業務實現未做好彈性擴容準備,定時業務陡增導致請求延遲巨大,嚴重影響了用戶體驗。

世紀聯華開始探索新的業務架構方式,琢磨如何使用簡潔的架構實現出更高可用的業務系統。

2019 年年中至 2019 年 雙11:Serverless 的探索和嘗試

隨著線上業務不斷髮展,世紀聯華的業務量不斷擴大。在經歷了 2019 年中數據庫事件後,世紀聯華經過嘗試探索後,發現阿里雲的表格存儲服務比較適合自己的彈性業務:陡升陡降的業務不需要提前做預算來準備購買多少臺存儲服務器。這讓聯華的技術人很興奮,因為很難算準突發的定時搶購業務量,這就導致很難預估準備多少機器來應付相應的業務量。表格存儲的出現讓聯華技術人瞭解到一個詞:Serverless!

在探索 Serverless 的道路上,聯華的技術人偶然接觸到了阿里雲的函數計算,在緊張的測試驗證後,技術人員發現函數計算的優異表現很契合聯華的業務高度彈性的會員查詢系統。

從 2019 年 7 月開始,聯華技術人在不到 3 個月的時間裡,將原有的會員數據全部副本鏡像遷移到表格存儲,並將所有渠道商的 API 全面遷移到阿里雲 API 網關做分發,會員查詢業務的計算業務也全面遷移到阿里雲函數計算。

2019 年的 雙11,函數計算作為計算模塊,表格存儲作為存儲模塊,順利地幫助世紀聯華渡過大促,扛住高峰流量的同時確保了應對業務的彈性。而未使用 Serverless 的業務因為預估不足,出現了一些異常。

Serverless 給世紀聯華帶來新的曙光:

  • 無需人工干預,瞬時彈性擴容很好地解決了流量的爆發帶來的服務全面不可用;
  • 運維管理簡單,一鍵部署更新函數,不需要了解網絡分發架構,部署流程變得更簡單,無需特聘運維人員,普通研發即可操作;
  • 不再需要提前做費用預算,用多少資源是多少錢,極大解決了技術和財務的溝通煩惱;
  • 因為定時秒殺場景請求波峰波谷明顯,不需要預留大量機器,從而節省了大量費用。

遺留的問題:

  • 部分請求因為冷啟動延時高導致用戶體感不好,這也是當時 Serverless 開發人員普遍遇到的問題。

雙11 中 Serverless 的表現讓聯華技術人很振奮。在順利渡過大促活動後,世紀聯華很快宣佈:將在所有業務中全面使用函數計算及表格存儲!

2020 年的 雙11:函數計算 2.0 及全面擁抱 Serverless

2019 年下半年,阿里雲函數計算宣佈推出 2.0,支持預留模式,全面解決冷啟動延遲大的問題;推出單實例多請求問題,較少實例支持重 IO 高併發類型請求調用;支持自定義運行時,支持一鍵遷移傳統 Web 架構服務器。2.0 的出現讓函數計算在業務和規模上實現了巨大升級。

在經歷了過去的線下場景考驗後,世紀聯華將各渠道商的業務及旗下的“聯華鯨選 APP”,以及線上交易、定時搶優惠券、秒殺業務也全部從 ECS 遷移到了函數計算 2.0,在開啟預留模式調整好單實例多併發的模式後,順利地扛過了是平時數十倍的洪峰流量請求。

image.png

比較上述的“時間-流量圖”及“時間-延遲”兩圖可以看到,急劇上升的突發流量對用戶造成的延遲變化影響非常小,從實際用戶反饋來看確實也證實了用戶體驗非常順滑。

所有的數據和業務上雲,減輕的不只是研發人員的心理壓力,還有工作量。聯華華商技術負責人樓傑表示,“阿里雲函數計算省了我們技術人員好多工作,我們不用管理服務器這些基礎設施,只要編寫代碼上傳,系統就會準備好計算資源,還提供日誌查詢、性能監控、報警等功能。這要是放在以前,超市搞 雙11 大促,我們技術團隊都睡不著覺,只靠擴展機器支撐大體量的流量和業務,誰心裡都沒譜。現在擴容的問題交給阿里雲,水位遠遠高於我們儲備能力的極限。”

站在風口上超車:傳統企業何以更需關注 Serverless?

2020 年是國內 Serverless 的技術元年,為了降低技術研發成本、提升運維效率,越來越多的企業開始選擇使用 Serverless 作為基礎研發底座,大力發展業務。

在近期 CNCF Serverless 研究報告中,阿里雲函數計算以 46% 的佔比佔據國內榜首。報告同時顯示,大量的國內開發人員正在將傳統架構往 Serverless 上做遷移。Serverless 的出現給傳統企業數字化轉型帶了更多機遇。

在今年的疫情當中,線上教育已經成為廣大學生群體不可或缺的基礎設施,阿里雲函數計算也為企業提供了強大的計算力,助力企業實現視頻轉碼成為國內在線教育 TOP 級企業。

除了新浪微博、芒果 TV、石墨文檔等互聯網企業,在過去的一年裡,越來越多的傳統企業正在以意想不到的速度接觸、嘗試、大規模使用函數計算。

傳統企業何以更關注 Serverless 呢?現如今,大量尖端技術人才更偏向在互聯網公司就業,但傳統企業又面對著大量技術升級和重構技術架構的剛需,人才缺口和技術升級之間產生了對雲原生技術的需求。Serverless 的出現抹平了研發人員在預算、運維經驗上的不足。在幫助企業對抗業務洪峰的情況下,研發人員能輕易掌控處理,不僅極大地降低了研發技術門檻,而且大規模提升了研發效率。對於開發者而言,線上預警、流量觀測等工具一應俱全,關鍵是免去了運維負擔,切實為廣大開發者提供了普惠技術紅利。對傳統企業而言,Serverless 縮短了互聯網公司與傳統企業之間技術競爭力的距離。

由於業務場景、用戶習慣迅速變化,許多行業數字化業務出現急速增長,加快數字化業務發展成為傳統企業的必然選擇。雲原生是企業數字化最短路徑,越來越多的傳統企業正在擁抱雲原生,藉助更加快速、靈活的開發和交付模式,滿足市場快速變化的需求,進而加速業務創新。世紀聯華藉助 Serverless 保證了一次次大促的成功,正是這一趨勢的最好證明。

作者:朱鵬
文章來源:阿里巴巴雲原生 微信公眾號
原文鏈接:https://mp.weixin.qq.com/s/o6wpc4i4o5dGNOpz9VgB3g

Leave a Reply

Your email address will not be published. Required fields are marked *