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