雙 11 搶商機時,台灣大品牌電商幾乎都面臨網站當機的狀況。流量巔峰時網站撐不住,這揭露了台灣電商正在累積「技術債」的現實。
雙 11 此類具備龐大流量、金流的活動,對台灣電商來說是一個考驗自家網站維護更新的門檻。流量尖峰時,平時不易追查的零星錯誤、異常狀態、網速偏慢的程式語法都很容易自我現形成為壓倒駱駝的一根稻草。而這些微小的「技術債」就是工程師於平日不斷累積,漸漸債台高築,最終在重要時刻被反咬一口。
台灣品牌 91APP 是台灣最大的新零售解決方案公司,91APP 致力於協助品牌在乘載巨大流量時能通過考驗。面對雙 11 購物,91APP 用了什麼方法讓公司在搶業績時,能屏除技術問題的干擾呢?
將資源分門別類,秉持「網站可塞,但不可當」的精神
首先,網站掛掉的原因很常是伺服器運算與負荷量不足的結果。91APP 藉由長期與 AWS、Google Cloud、Microsoft Azure 等雲端運算與擴充力高的公司做合作,所以能以不增加機器建置成本的條件,彈性提供空間穩住負荷量。
再者,為了避免網站當掉會降低消費者購物慾,91APP 預先將流量資源一分為三,分散在「型錄頁面」、「交易過程」、「商品出貨」三項購物流程上。
當雙 11 購物潮開始時,91APP 第一步先確保顧客能夠順暢進到網頁內;在接下來的交易過程中,91APP 秉持一個準則:可壅塞,但不可死當,藉由「閘道管制」策略,91APP 設計網路流量會以拿號碼牌的方式處理。也就是說,消費者在結帳時都需要排隊。因此消費者端只會覺得網站變慢,而不會導致當機。
最後,91APP 將「商品出貨」系統會使用的的資源(運算、記憶體、寬頻流量)分散於結帳流程;原因無非是為了讓雙方系統運作都能更趨穩定。
讓工程師內建 DevOps 概念,自己的 Code 自己負責
91APP 為了因應雙 11 龐大流量也讓工程師培養 DevOps 組織系統。DevOps 是一個近年興起的 軟體開發概念 ,其字意是將 Development 和 Operations 結合,涵蓋工程師、系統開發者、維護人員等的資訊文化運動。主要透過自動化流程,加速軟體構建、測試與發布。
91APP 的研發副總林大維表示,「雙 11 的技術整備不是臨時抱佛腳,是長達一年以上的時間規劃與準備,每一項功能、每一個產品都是在開發設計階段,都是先以大流量為目標設計,並且需要高度可維護性,自己寫的 Code 自己負責,自己寫的 Bug 自己解,才能讓系統不斷優化再優化。」
參考資料來源:
《91APP》:〈無價的經驗值,寫在 2018 雙 11 之後 〉
※本文授權自TechOrange科技報橘,原文見此。