0
今天上午8:30左右,不少用戶集中反映,“粵省事”小程序里的“粵康碼”打不開了。
在亮碼的過程中,頁面會(huì)出現(xiàn)“信號(hào)不佳”的提示,或是直接呈現(xiàn)黑白二維碼,表示“亮碼失敗”。
下方的“核酸檢測(cè)”和“疫苗接種”兩欄都注明“升級(jí)維護(hù),請(qǐng)稍后再試”。
圖左為正常訪問;圖右為亮碼失敗
#粵康碼#、#粵康碼崩了#等詞條迅速登上微博熱搜。
事發(fā)六小時(shí)后,熱搜詞條仍然在榜
上午10:00之后,情況逐漸得到緩解。也有網(wǎng)友向雷峰網(wǎng)表示,自己的粵康碼在十點(diǎn)左右還是黑白,但在十點(diǎn)半左右已經(jīng)可以正常打開。
今日午間,當(dāng)市民再度打開“粵省事”小程序里的“粵康碼”,頁面會(huì)首先顯示公告稱:
8:31,監(jiān)測(cè)到流量增大;
9:04,部分緩解;
9:56,完全恢復(fù)順暢運(yùn)行。
而在粵康碼崩潰的90分鐘里,微信小程序“深i您”、“穗康碼”,以及由國家政務(wù)服務(wù)平臺(tái)提供服務(wù)的支付寶健康碼,均可正常使用。
微信小程序“深i您”界面
“應(yīng)該只有‘粵省事’這個(gè)渠道出了問題。‘深i您’和‘穗康碼’都分別注明了‘粵康碼(深圳/廣州)’的字樣,但一樣可以正常打開?!庇芯W(wǎng)友評(píng)論道。
公開資料顯示,數(shù)字廣東公司是粵康碼系統(tǒng)以及全省數(shù)字政府建設(shè)的運(yùn)營中心?!盎浭∈隆币苿?dòng)政務(wù)服務(wù)平臺(tái),由騰訊與廣東省合作開發(fā)。
在1月7日到1月9日的三天時(shí)間里,深圳新增四例本土確診病例,深圳多區(qū)同時(shí)展開大規(guī)模核酸篩查。深圳以及廣東其他市縣的不少公共場(chǎng)所,都新增了入場(chǎng)前先亮健康碼和核酸證明的防疫要求。
而今天(1月10日)正是深圳“0107疫情”發(fā)生之后的第一個(gè)工作日,不少上班族正是在進(jìn)入地鐵和辦公園區(qū)的時(shí)候,發(fā)現(xiàn)粵康碼打不開了。
這次故障的主要原因,多位業(yè)內(nèi)人士表示,應(yīng)該還是與高并發(fā)訪問有關(guān)。
官方聲明中提到:
今早的訪問量峰值一度高達(dá)140萬次/分鐘。
而根據(jù)廣州日?qǐng)?bào)的報(bào)道,2021年5-6月廣東曾爆發(fā)過一輪疫情,在此期間,粵康碼進(jìn)行過系統(tǒng)調(diào)優(yōu)升級(jí):
促使網(wǎng)關(guān)每分鐘可承載的訪問量從原來的10萬+提升至60萬+,每天的調(diào)用量從原來的10億+提升至80億+。
有業(yè)內(nèi)人士指出,從兩組數(shù)字的對(duì)比來看,粵康碼系統(tǒng)今早確實(shí)顯著承壓。
“遇到高峰浪涌,爆服務(wù)器負(fù)載屬于正?,F(xiàn)象。”資深信息安全專家吳先生向雷峰網(wǎng)解釋,就算有彈性資源自動(dòng)擴(kuò)容機(jī)制,生效也需要時(shí)間,擴(kuò)容期間的請(qǐng)求還是會(huì)卡在隊(duì)列里。
整個(gè)擴(kuò)容流程大致是:浪涌到閾值——觸發(fā)告警——觸發(fā)擴(kuò)容請(qǐng)求——分配資源——掛載鏡像——服務(wù)啟動(dòng)——負(fù)載均衡器轉(zhuǎn)發(fā)流量。
他強(qiáng)調(diào),“擴(kuò)容的每一步都是秒級(jí)反應(yīng),但第一步到最后一步之間,這段時(shí)間的請(qǐng)求,在重新請(qǐng)求之前都卡著。如果浪涌太快,需要連續(xù)申請(qǐng)資源,還是會(huì)卡不少時(shí)間。”
舉個(gè)例子:
假設(shè)隊(duì)伍負(fù)載是100(100進(jìn)100出)一旦溢出,假設(shè)每次擴(kuò)容20%,擴(kuò)容用時(shí)10秒;
某一秒的峰值到達(dá)130,觸發(fā)告警;
10秒后擴(kuò)容至120,不夠則繼續(xù)擴(kuò)容;
但在這10秒內(nèi),超出能力的請(qǐng)求數(shù)量可能已經(jīng)累積了300個(gè),響應(yīng)還是很慢,只能等著隊(duì)列超時(shí)后重新分配,或者卡進(jìn)去。
這還不包括“卡了之后重新請(qǐng)求——造成流量異常上升”的情況。
也就是說,即便擴(kuò)容只需要十秒鐘,但就在這十秒鐘之內(nèi),問題還在不斷堆積;自動(dòng)擴(kuò)容后的能力,也未必能應(yīng)對(duì)十秒之后的新情況。
這種“訪問量激增導(dǎo)致亮碼失敗”的情況,可以通過提前擴(kuò)容來應(yīng)對(duì)嗎?
“很難,除非準(zhǔn)確預(yù)測(cè)流量曲線。”吳先生說。
某災(zāi)備廠商告訴雷峰網(wǎng)(公眾號(hào):雷峰網(wǎng)),此次崩潰,可能與項(xiàng)目方“只做了數(shù)據(jù)級(jí)容災(zāi)、沒做應(yīng)用級(jí)容災(zāi)”有關(guān)。
但多位技術(shù)專家也給出了相反的看法,指出應(yīng)用級(jí)災(zāi)備是“高投入、價(jià)值低頻且難以度量”,在大多數(shù)時(shí)候“相當(dāng)于服務(wù)能力成倍冗余”。
應(yīng)用級(jí)容災(zāi)確實(shí)更能確保業(yè)務(wù)的連續(xù)性,但不同于云服務(wù)彈性擴(kuò)容,這需要長期占用固定投資,且資源平時(shí)無法通過靈活應(yīng)用產(chǎn)生其他價(jià)值。
我們可以把彈性擴(kuò)容看作是搭帳篷,用途多變,啟用和收回也十分靈活;而應(yīng)用級(jí)災(zāi)備就像是直接建造一處特定用途的樓房,確實(shí)穩(wěn)定堅(jiān)固,但成本高出不少,因此有專家認(rèn)為,“建設(shè)應(yīng)用級(jí)容災(zāi)并不是理想的解決辦法。”
此次粵康碼無法正常訪問,也讓許多人聯(lián)想到不久前西安一碼通的兩輪崩潰。不少各地網(wǎng)友表示,自己所在地的健康碼也出現(xiàn)過亮碼緩慢的情況。
鈦媒體的報(bào)道中指出,西安一碼通是“一起因流量過載、系統(tǒng)架構(gòu)應(yīng)對(duì)高并發(fā)不足,最終導(dǎo)致防火墻攔截?cái)?shù)據(jù)無法返回的系統(tǒng)性故障。”也有技術(shù)專家表示,相信西安一碼通存在一定的系統(tǒng)架構(gòu)設(shè)計(jì)硬傷,沒有充分考慮擴(kuò)容的情況。
有業(yè)內(nèi)人士強(qiáng)調(diào),粵康碼、西安一碼通的亮碼失敗,確實(shí)都與高并發(fā)訪問有關(guān),但無論是何地的健康碼,實(shí)際情況都不可一概而論,不意味著西安一碼通的根本問題也出現(xiàn)在了其他地區(qū)健康碼身上。
但需要注意的是,健康碼因高并發(fā)而亮碼緩慢、甚至崩潰的背后,不只是容災(zāi)、擴(kuò)容這些相對(duì)淺層的技術(shù)問題。
“健康碼是一個(gè)融合多系統(tǒng)的產(chǎn)品,不是某個(gè)單一軟件公司可以覆蓋的?!盜T咨詢專家阿鯤(化名)向雷峰網(wǎng)分析稱,健康碼系統(tǒng)目前的關(guān)聯(lián)方應(yīng)該包括:
信通院整合的三大運(yùn)營商(定位及軌跡);
各地的疾控中心(核酸檢測(cè)結(jié)果,疫苗接種結(jié)果);
產(chǎn)品前端(微信、支付寶小程序);
產(chǎn)品的運(yùn)營(實(shí)際健康碼的加工和生成,數(shù)據(jù)整合,日常運(yùn)營等)
其他關(guān)聯(lián)方,如云服務(wù)、防火墻的提供商。
整體架構(gòu)上,應(yīng)當(dāng)是有一個(gè)后臺(tái)和一個(gè)前端,都架在政務(wù)云上:
后臺(tái)采集各渠道數(shù)據(jù),包括定位軌跡,核酸,疫苗等,統(tǒng)一加工后生成健康碼;
前端對(duì)接各渠道,從前端獲取客戶身份信息,到后臺(tái)查詢健康碼,并生成碼值展示。
一個(gè)看似簡單的健康碼,內(nèi)部涉及的產(chǎn)品和運(yùn)營方太多,協(xié)調(diào)難度相當(dāng)大;而且技術(shù)能力參差不齊,容易被木桶的短板所拖累。
“就算各方負(fù)責(zé)的部分都沒問題,合起來也可能會(huì)有一堆毛病,就像一個(gè)人四肢健全卻無法正常行走?!绷硪晃患夹g(shù)專家強(qiáng)調(diào)。
而項(xiàng)目牽頭者、實(shí)施方都有可能對(duì)健康碼的定位理解不準(zhǔn)確,“項(xiàng)目是按政務(wù)系統(tǒng)來做的,但這是面向全網(wǎng)C端的大流量架構(gòu)——理論上是to G,實(shí)際上應(yīng)該是to G to C?!卑ⅥH說。
再加上健康碼的特殊性,項(xiàng)目上線時(shí)間緊迫,往往未能經(jīng)過完整壓測(cè);上線后又面臨巨大的運(yùn)營壓力,騰不出人手和資源進(jìn)行優(yōu)化。因此系統(tǒng)的整體架構(gòu)耦合太強(qiáng),健壯性不夠。
同時(shí)他也強(qiáng)調(diào),全國各地各自為戰(zhàn),數(shù)據(jù)未整合,且各地的數(shù)據(jù)、架構(gòu)都不同,導(dǎo)致每個(gè)省各顯神通,也和當(dāng)?shù)氐男畔⒒A(chǔ)設(shè)施密切相關(guān),沒有統(tǒng)一的標(biāo)準(zhǔn)方案。
健康碼的真正考驗(yàn),是頂層設(shè)計(jì)能力和協(xié)同一致能力,是項(xiàng)目內(nèi)部各方、項(xiàng)目與其他數(shù)字基礎(chǔ)設(shè)施的協(xié)調(diào)。在疫情聯(lián)防聯(lián)控成為日常所需的今天,這將會(huì)是每個(gè)城市長久面對(duì)的考題。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。