練就“華為云秘籍” 助你告別浪涌流量下的系統(tǒng)崩潰
雙十一,對于每個電商平臺來說是不僅是一場大促而同樣是一場大考,考驗一個商城的關鍵就在于節(jié)日浪涌流量下如何挺住不跪。如何可以風輕云淡的應對節(jié)日促銷的浪涌需求,華為云大師為你指點迷津:正面硬剛不是上策,四兩撥千斤的太極之力才是制勝之法,在原有的系統(tǒng)基礎上配備什么樣的中間件,這是決勝促銷日的王道。
分布式數(shù)據(jù)庫DDM、分布式緩存DCS、分布式消息DMS,華為云PaaS的三個云中間件采用古老的太極哲學,助你輕松化解浪涌下的系統(tǒng)難題。
崩潰場景一:頁面打開龜速 以靜制動來化解危機
老板:“什么,怎么每次頁面怎么那么慢,限時1天整改完畢!”
開發(fā):“老板,現(xiàn)在代碼已經(jīng)10萬行了,重構(gòu)至少需要3個月,實在很難辦啊……”
老板:“聽說老師傅有解決方案和關鍵服務,可以立即使用,去咨詢下”。
華為云大師:動靜分離,以靜制動,快使用緩存技術DCS防浪涌從前端開始
對比各家大廠電商首頁,平均大小在150KB大小,假設一天有1000萬次訪問,則每天至少有1.5TB的帶寬,消耗巨大。當然這還不包含各種CSS、JS、Image等信息,為了避免訪問數(shù)據(jù)庫、網(wǎng)頁渲染,提升網(wǎng)站性能,必須要做動靜分離。將頁面中信息根據(jù)規(guī)則把不變、常變的資源區(qū)分開來。針對拆分后的靜態(tài)資源做緩存操作,服務端之前都架設反向代理服務器,用于負載均衡和動靜流量整合,明顯優(yōu)勢有:
1、流量控制,包含用戶流量限流、黃牛流量清洗等。
2、動靜分離,緩存前置在數(shù)據(jù)庫、APP之前,可快速解決APP的性能瓶頸問題。
3、方便日志的記錄。
“華為云秘籍”的應對之道:
華為云DCS服務:解決源站內(nèi)容的加速問題,可用于做數(shù)據(jù)庫的前置緩存、反向代理服務器的前置緩存,大大減少了后端服務器的渲染、數(shù)據(jù)庫的訪問,提升用戶訪問的體驗。
華為云CDN服務:解決源站內(nèi)容分發(fā),用戶就近訪問的問題,可以緩存如通用HTML、CSS、JS、圖片等信息,有效加速內(nèi)容加載速度。
崩潰場景二:數(shù)據(jù)庫垮掉 DDM分庫分表隔山打牛
主管:“什么,數(shù)據(jù)庫又掛了,為什么關鍵時刻總是不行。。。”
員工:“老板,數(shù)據(jù)量太大了,物理機撐不住了”
主管:“聽說華為云有解決方案和關鍵服務,可以即買即用,馬上去咨詢下”。
華為云大師:把用戶分隔,隔山打牛,逐個擊破,快使用分布式數(shù)據(jù)庫中間件ddm防浪涌從前端開始
雙十一下即便是普通的網(wǎng)站,比如存有50+萬用戶數(shù)據(jù),當超過200+萬評論消息的時,網(wǎng)站訪問卡頓,不得不經(jīng)常處理業(yè)務數(shù)據(jù),嚴重制約了業(yè)務的發(fā)展。對于以上問題,可使用分庫分表的中間件,基于用戶的ID維度實現(xiàn)水平切分,迅速達到數(shù)據(jù)庫容量的提升,也不需要每隔幾個月花費人力物力去考慮擴容等問題。
使用分庫分表中間件的優(yōu)勢是顯而易見的:
1、 容量可線性100+倍提升,單表可從***到十億級提升。
2、 性能提升10倍以上,通過集群配置避免了單點接入的平靜的問題。
3、 易升級和擴展。
“華為云秘籍”的應對之道:
華為云DDM服務:業(yè)界領先的分庫分表技術,突破了傳統(tǒng)數(shù)據(jù)庫的容量和性能瓶頸,實現(xiàn)海量數(shù)據(jù)高并發(fā)訪問。
華為云RDS服務:基于華為云的在線關系型數(shù)據(jù)庫服務,有即開即用、穩(wěn)定可靠、安全運行、彈性伸縮、輕松管理、經(jīng)濟實用等特點,支持單機、主備或集群模式部署。
崩潰場景三:突發(fā)宕機 DMS削峰填谷異步處理
主管:“什么,秒殺活動又掛了,為什么關鍵時刻總是不行。。。”
員工:“老板,搶購流量蹦一下就提升1000倍,我們余量準備不足,實在是撐不住啊”
主管:“聽說華為云有解決方案和關鍵服務,可以立即使用,馬上去咨詢下”。
華為云大師:削峰填谷,異步處理 ,快去使用華為云消息中間件DMS
秒殺活動瞬間會有大流量涌入,俗話說“手快有、手慢無”,1000倍的幾何級流量增長對任何系統(tǒng)的沖擊都太大了。如果系統(tǒng)沒有足夠的能力,基本上都是:網(wǎng)站訪問正常 -> 高流量 -> 網(wǎng)站性能下降 -> 頁面加載時間變長 -> 用戶反復刷新 -> 網(wǎng)站性能進一步下降 -> 瞬間崩潰。針對秒殺場景,通常需要使用消息中間件,打造一個排隊系統(tǒng)來解決問題,核心考慮點:
1、削峰填谷:秒殺期間,將瞬時流量拉平,使得系統(tǒng)得以在處理能力范圍內(nèi),將所有搶購流量處理完成。
2、異步處理:接受請求和處理請求異步處理,解決兩者性能不一致的問題,合理協(xié)調(diào)資源。
3、 限流:搶購成功率可能只有1%,剩余的99%都是無效流量。讓成功搶購到商品的流量進入搶購系統(tǒng),對系統(tǒng)壓力減小很多。
“華為云秘籍”應對之道:
華為云DMS消息服務:完全托管的高性能消息隊列服務,提供Http API、TCP SDK、Kafka SDK三種數(shù)據(jù)訪問接口,為分布式應用系統(tǒng)提供靈活可靠的異步通信機制。提供億級消息堆積能力,幫助系統(tǒng)在峰值情況下從容應對。
本期分享來自華為云的研發(fā)老師傅云大師,常年修行于坂田馬蹄山下,練就一身“華為云版太極功夫”,善用分布式智慧破解雙十一浪涌,助你輕松化解浪涌下的系統(tǒng)難題,下期老師傅準備以一個開源電商系統(tǒng)改造為例,為大家?guī)砀鄬嵺`積累,歡迎繼續(xù)關注。