開發與維運

完美日記:實現高彈性高穩定電商架構

公司簡介

完美日記(Perfect Diary)是廣州市“獨角獸”創新企業——廣州逸仙電子商務有限公司旗下首個美妝品牌,創立於2017年,用心為新生代女性開發高品質、精設計、易上手的彩妝及護膚產品,立志於打造有國際影響力的Chinese Beauty Icon。

完美日記上線不到兩年即成為天貓彩妝銷冠,2019年成為11年來第一個登上天貓雙十一彩妝榜首的國貨品牌,包攬天貓2019全年彩妝銷冠;2020年4月成為首個亮相天貓超級品牌日的國貨彩妝品牌,同時勇破彩妝品牌銷售紀錄。

另外,完美日記已在全國各地開設了數十家線下店,計劃至2022年底開店超600家。

截至2020年4月,品牌SKU超過700個,全網用戶粉絲數量超過2500萬,月曝光量10億+。

業務痛點

系統開發迭代快,線上問題比較多,定位問題比較耗時。
頻繁大促,系統穩定性保障壓力很大,第三方接口和一些慢SQL就可能導致嚴重的線上故障。
壓測與系統容量評估的工作非常頻繁,需要做常態化的機制來支撐。
系統大促時資源與日常資源相差較大,需要頻繁擴縮容。

解決方案

image
圖 1. 解決方案架構圖

方案細節:

為了支撐業務快速發展,完美日記採用了阿里雲容器服務ACK+Spring Cloud Alibaba配合阿里雲中間件PTS+AHAS+鏈路追蹤產品的方案。

-系統進行容器化部署,利用阿里雲容器服務的快速彈性應對大促時的資源快速擴容。
-系統提前接入鏈路追蹤產品,用於對分佈式環境下複雜的服務調用進行跟蹤,對異常服務進行定位,幫助客戶在測試和生產中快速發現問題,快速修復。
-使用阿里雲性能測試服務PTS進行壓測,利用PTS的秒級流量拉起、真實地理位置流量等特性,以最真實的互聯網流量進行壓測。
-收集壓測數據,分析系統強弱依賴和關鍵瓶頸點,對關鍵業務接口、關鍵第三方調用、數據庫慢調用、系統整體負載等進行限流保護。
-配合阿里雲服務團隊,在大促前進行ECS/RDS/安全等產品擴容、鏈路梳理、緩存/連接池預熱、監控大屏製作、後端資源保障等,幫助大促平穩進行。

上雲價值

成本控制:在非高峰期保持相對少量的節點支撐日常業務,在大促前進行資源快速擴容,大促後釋放多餘資源,最大程度節約成本。利用容器的高可靠、故障自愈、彈性伸縮等能力,減少運維工作量。
高可用:利用AHAS的限流降級和系統防護功能,對系統的關鍵資源進行防護,並且對整體系統水位進行兜底,確保大促平穩進行,提高用戶體驗。
容量評估:利用PTS和ARMS對系統的單機能力和整體容量進行評估,對單機能承載的業務量、整體能承載的業務量做到提前預判,未來對業務的大促需求可以做出合理的資源規劃和成本預測。
大促保障機制:通過與阿里雲服務團隊的多次配合,整理出大促保障的一般流程和應急機制,做到大促常態化。

證言

“使用ACK容器服務可以幫助我們快速拉起測試環境,利用PTS即時高併發流量壓測確認系統水位,結合ARMS監控,診斷壓測過程中的性能瓶頸,最後通過AHAS對突發流量和意外場景進行實時限流降級,加上阿里雲團隊保駕護航,保證了我們每一次大促活動的系統穩定性和可用性,同時利用ACK容器快速彈性擴縮容,節約服務器成本50%以上。”——完美日記技術中臺負責人

相關產品

容器服務 ACK

容器服務 Kubernetes 版(簡稱 ACK)提供高性能可伸縮的容器應用管理能力,支持企業級容器化應用的全生命週期管理。整合阿里雲虛擬化、存儲、網絡和安全能力,打造雲端最佳容器化應用運行環境。
更多關於容器服務 ACK的介紹,參見容器服務 ACK產品詳情頁

應用實時監控服務 ARMS

應用實時監控服務 (Application Real-Time Monitoring Service,簡稱ARMS)是一款應用性能管理產品,包含前端監控,應用監控和Prometheus監控三大子產品,涵蓋了瀏覽器、小程序、APP、分佈式應用和容器環境等性能管理,能幫助您實現全棧式的性能監控和端到端的全鏈路追蹤診斷, 讓應用運維從未如此輕鬆高效。
更多關於應用實時監控服務 ARMS的介紹,參見應用實時監控服務ARMS產品詳情頁

性能測試 PTS

PTS(Performance Testing Service)是面向所有技術背景人員的雲化測試工具。有別於傳統工具的繁複,PTS以互聯網化的交互,提供性能測試、API調試和監測等多種能力。自研和適配開源的功能都可以輕鬆模擬任意體量的用戶訪問業務的場景,任務隨時發起,免去繁瑣的搭建和維護成本。更是緊密結合監控、流控等兄弟產品提供一站式高可用能力,高效檢驗和管理業務性能。
更多關於性能測試 PTS的介紹,參見性能測試 PTS產品詳情頁

Leave a Reply

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