聯華華商旗下的世紀聯華超市近期迎來了一年一度的 “雙11” 大促活動。
時光回到 2014 年的 雙12,支付寶聯合杭州多家線下品牌和商場門店,推出五折優惠促銷活動。在這一次消費狂歡中,濱江區世紀聯華店所有的櫃員 POS 機前排起了長隊,隊伍移動速度異常緩慢,商場從業人員表示,伺服器出現異常導緻支付出了問題。
6 年後的今天,視線再次回到世紀聯華超市 雙11 大促現場,人潮湧動,卻井然有序。參與大促的人數是 6 年前的幾倍,但現場支付卻穩定又順滑,這種天壤之别的轉變,源于世紀聯華對雲原生技術的大膽嘗試。
世紀聯華大促現場
技術架構演進之路
我們有幸采訪到世紀聯華的技術人員,了解到世紀聯華在技術架構演進一路走來的不容易。
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,在開啟預留模式調整好單執行個體多并發的模式後,順利地扛過了是平時數十倍的洪峰流量請求。
比較上述的“時間-流量圖”及“時間-延遲”兩圖可以看到,急劇上升的突發流量對使用者造成的延遲變化影響非常小,從實際使用者回報來看确實也證明了使用者體驗非常順滑。
所有的資料和業務上雲,減輕的不隻是研發人員的心理壓力,還有工作量。聯華華商技術負責人樓傑表示,“阿裡雲函數計算省了我們技術人員好多工作,我們不用管理伺服器這些基礎設施,隻要編寫代碼上傳,系統就會準備好計算資源,還提供日志查詢、性能監控、報警等功能。這要是放在以前,超市搞 雙11 大促,我們技術團隊都睡不着覺,隻靠擴充機器支撐大體量的流量和業務,誰心裡都沒譜。現在擴容的問題交給阿裡雲,水位遠遠高于我們儲備能力的極限。”
站在風口上超車:傳統企業何以更需關注 Serverless?
2020 年是國内 Serverless 的技術元年,為了降低技術研發成本、提升運維效率,越來越多的企業開始選擇使用 Serverless 作為基礎研發底座,大力發展業務。
在近期 CNCF Serverless 研究報告中,阿裡雲函數計算以 46% 的占比占據國内榜首。報告同時顯示,大量的國内開發人員正在将傳統架構往 Serverless 上做遷移。Serverless 的出現給傳統企業數字化轉型帶了更多機遇。
在今年的疫情當中,線上教育已經成為廣大學生群體不可或缺的基礎設施,阿裡雲函數計算也為企業提供了強大的計算力,助力企業實作視訊轉碼成為國内線上教育 TOP 級企業。
除了新浪微網誌、芒果 TV、石墨文檔等網際網路企業,在過去的一年裡,越來越多的傳統企業正在以意想不到的速度接觸、嘗試、大規模使用函數計算。
傳統企業何以更關注 Serverless 呢?現如今,大量尖端技術人才更偏向在網際網路公司就業,但傳統企業又面對着大量技術更新和重構技術架構的剛需,人才缺口和技術更新之間産生了對雲原生技術的需求。Serverless 的出現抹平了研發人員在預算、運維經驗上的不足。在幫助企業對抗業務洪峰的情況下,研發人員能輕易掌控處理,不僅極大地降低了研發技術門檻,而且大規模提升了研發效率。對于開發者而言,線上預警、流量觀測等工具一應俱全,關鍵是免去了運維負擔,切實為廣大開發者提供了普惠技術紅利。對傳統企業而言,Serverless 縮短了網際網路公司與傳統企業之間技術競争力的距離。
由于業務場景、使用者習慣迅速變化,許多行業數字化業務出現急速增長,加快數字化業務發展成為傳統企業的必然選擇。雲原生是企業數字化最短路徑,越來越多的傳統企業正在擁抱雲原生,借助更加快速、靈活的開發和傳遞模式,滿足市場快速變化的需求,進而加速業務創新。世紀聯華借助 Serverless 保證了一次次大促的成功,正是這一趨勢的最好證明。
作者:朱鵬
文章來源:阿裡巴巴雲原生 微信公衆号
原文連結:
https://mp.weixin.qq.com/s/o6wpc4i4o5dGNOpz9VgB3g