這才是西安一碼通兩次崩潰的真正技術(shù)原因

https://www.zhihu.com/question/509914161
技術(shù)圈都對(duì)這件事情感興趣,讓我們一起來(lái)看看!
前段時(shí)間,有一篇陜西電信的文章,大力肯定了開(kāi)發(fā)團(tuán)隊(duì),但略顯得外行,該報(bào)道被眾多網(wǎng)友吐槽:

目前已經(jīng)下架,可以看看大概內(nèi)容:

健康碼連續(xù)掛了兩次真的有點(diǎn)業(yè)余了,不過(guò)確實(shí)也沒(méi)有l(wèi)ow到服務(wù)器生成圖片進(jìn)行下發(fā)這么蠢。知乎@盧興民做了簡(jiǎn)單剖析,我們來(lái)看看。
看一波西安健康碼的接口數(shù)據(jù):

真正的二維碼數(shù)據(jù)是 /person/app/refreshQRCode這個(gè)接口

看下這個(gè)接口返回,設(shè)計(jì)上也沒(méi)有太大的問(wèn)題。
主要問(wèn)題集中在所有的js/css/img這些靜態(tài)資源全都從從一個(gè)出口進(jìn)行提供,沒(méi)上CDN。
粗略估算了一下,js/css/img數(shù)據(jù)總共約500kB,按照從某個(gè)群里得到的數(shù)據(jù),暫且認(rèn)為是準(zhǔn)的,健康碼的請(qǐng)求量峰值達(dá)到了3.3w qps。
那按照這個(gè)量估計(jì) 33000 x 500 x 8 bps ≈ 125Gbps ?這個(gè)出口量級(jí)很難用單機(jī)房承載,峰值一來(lái),出口網(wǎng)卡打滿,直接gg。
到寫(xiě)這個(gè)回答時(shí),西安健康碼還是沒(méi)有將靜態(tài)資源上CDN,之后看看訪問(wèn)量再起飛的時(shí)候,能不能扛得住吧。
當(dāng)然,目前所有的看法也都只是猜測(cè),具體什么原因還得所在的開(kāi)發(fā)團(tuán)隊(duì)挖掘,你的看法是什么呢,歡迎評(píng)論區(qū)討論!
