UCloud優(yōu)刻得:防疫碼不崩潰,關(guān)鍵模塊一定要穩(wěn)!

疫情爆發(fā)已兩年有余,數(shù)字化防疫早已深入工作生活的每個(gè)角落。“請(qǐng)出示您的健康碼”,成為人們?nèi)粘B牭降母哳l詞語。承載了千千萬萬甚至上億人群防疫碼查詢的IT系統(tǒng)如何穩(wěn)定、高效、安全的運(yùn)行,便成了各地精準(zhǔn)防疫的重點(diǎn)課題。下面是UCloud優(yōu)刻得根據(jù)近兩年對(duì)部分城市和地區(qū)防疫碼的服務(wù)經(jīng)驗(yàn),總結(jié)的一些實(shí)踐建議:

一、防疫碼系統(tǒng)主要模塊

“點(diǎn)擊手機(jī)小程序、輸入手機(jī)號(hào)、輸入驗(yàn)證碼、展示健康碼”這看似簡單的動(dòng)作,其實(shí)在防疫碼系統(tǒng)內(nèi)是拆分為多個(gè)步驟執(zhí)行的,包括:

»用戶身份驗(yàn)證:通過短信動(dòng)態(tài)驗(yàn)證、人臉識(shí)別驗(yàn)證等形式,落實(shí)一人一碼。

»號(hào)碼段驗(yàn)證:通過手機(jī)號(hào)識(shí)別歸屬運(yùn)營商,便于運(yùn)營商短信自動(dòng)化同步用戶。

»用戶行程信息查詢:根據(jù)運(yùn)營商提供的用戶行程情況,結(jié)合國家衛(wèi)健委疫情風(fēng)險(xiǎn)數(shù)據(jù),提供更為清晰的行程信息。

»//綠碼的顯示:依托來自于衛(wèi)健、公安、通管等部門匯聚的數(shù)據(jù),經(jīng)過防控規(guī)則和數(shù)據(jù)建模,分析評(píng)估后,測算出紅色、黃色、綠色三種風(fēng)險(xiǎn)狀態(tài)。

»疫苗/核酸信息的查詢:根據(jù)衛(wèi)健等部門提供的信息,便于用戶即時(shí)查看接種記錄及疫苗信息。

從以上步驟可以看出,防疫碼功能看似簡單,其實(shí)背后涉及到許多模塊,需要多部門信息高頻調(diào)用(跨部門信息高頻率互通),再加上人們?cè)缤砀叻宄鲂械募行?,因此系統(tǒng)具有高復(fù)雜度、高并發(fā)性、高依賴度的特點(diǎn)。同時(shí)由于疫情爆發(fā)的突發(fā)性,絕不是通過固定部署幾臺(tái)服務(wù)器就能夠滿足未來不確定的需求。因此靈活方便、即時(shí)擴(kuò)展、算力豐富的云平臺(tái)便成了部署防疫碼系統(tǒng)一個(gè)極佳的選擇。

二、系統(tǒng)容量規(guī)劃:

云平臺(tái)雖然可以對(duì)IT資源快速進(jìn)行橫向擴(kuò)容,但一昧地堆資源,并不能有效提升系統(tǒng)的穩(wěn)定性。所以,系統(tǒng)各個(gè)模塊構(gòu)建合理的容量規(guī)劃才是穩(wěn)定之基。

1.容量規(guī)劃

整套系統(tǒng)的容量規(guī)劃,除了基于每日用戶訪問量峰值來建模進(jìn)行估算外,同時(shí)也需對(duì)整體訪問鏈路中涉及到的各類模塊分別進(jìn)行計(jì)算評(píng)估,比如:互聯(lián)網(wǎng)帶寬、負(fù)載均衡鏈接數(shù)、應(yīng)用服務(wù)并發(fā)數(shù)、數(shù)據(jù)庫連接池等。

UCloud優(yōu)刻得:防疫碼不崩潰,關(guān)鍵模塊一定要穩(wěn)!

UCloud優(yōu)刻得:防疫碼不崩潰,關(guān)鍵模塊一定要穩(wěn)!

與很多人的認(rèn)知不同,其實(shí),每個(gè)模塊的容量規(guī)劃并不是越大越好,這主要是因?yàn)楦髂K之間存在依賴關(guān)系,一個(gè)模塊容量過大,可能會(huì)導(dǎo)致該調(diào)用鏈路上的其他模塊服務(wù)雪崩。

舉個(gè)例子,上圖中的數(shù)據(jù)庫類似餐廳大廚,假定只能同時(shí)服務(wù)5個(gè)用戶。應(yīng)用集群如同餐廳,能同時(shí)容納100人。如果用戶以20人/分鐘的速度進(jìn)入餐廳,由于前面的用戶還未就餐完畢,后續(xù)的用戶不斷涌入,最終會(huì)導(dǎo)致超出餐廳的同時(shí)服務(wù)能力,整個(gè)系統(tǒng)也就崩潰了。

2.限流管控

鑒于防疫碼的高并發(fā)訪問場景,為了保障防疫碼系統(tǒng)的正常運(yùn)轉(zhuǎn)。必要時(shí)還需用到一些限流措施。

限流的目的不僅是為了控制訪問的總并發(fā)量,而且還要盡量讓訪問的流量來的更均衡,這樣才不會(huì)讓系統(tǒng)的負(fù)載大起大落,因此又稱為"流量整形" 。

常見的限流手段包括互聯(lián)網(wǎng)入口處針對(duì)單個(gè)運(yùn)營商級(jí)別的網(wǎng)絡(luò)限流,或者負(fù)載均衡器上的新建連接數(shù)和并發(fā)連接數(shù)的流控,以及應(yīng)用服務(wù)的參數(shù)調(diào)整等。

限流雖說是有損的,比如它會(huì)造成部分用戶的請(qǐng)求失敗,但在用戶重試的情況下,若干次嘗試后,請(qǐng)求便會(huì)成功。限流引起的重試確實(shí)會(huì)對(duì)用戶體驗(yàn)造成影響,但相比較于應(yīng)用集群的崩潰而言,是可以接受的。

三、防疫碼模塊的關(guān)鍵點(diǎn):

1.用戶身份驗(yàn)證模塊

在日常生活中,進(jìn)入某辦公樓會(huì)先檢查對(duì)方的證件,確定身份后才能進(jìn)入。防疫碼也有著類似的用戶身份驗(yàn)證場景。常用驗(yàn)證方法有兩種:手機(jī)短信驗(yàn)證和人臉識(shí)別驗(yàn)證。

其中手機(jī)短信驗(yàn)證大致過程為:用戶請(qǐng)求發(fā)送短信驗(yàn)證碼,應(yīng)用集群調(diào)用第三方短信平臺(tái)發(fā)送驗(yàn)證碼給用戶,驗(yàn)證碼和用戶信息(手機(jī)號(hào))可存放到緩存中,并設(shè)置驗(yàn)證碼失效時(shí)間。當(dāng)用戶接收到短信,輸入驗(yàn)證碼即可完成身份驗(yàn)證。

一般而言,應(yīng)用集群對(duì)這類信息不需要進(jìn)行持久化存儲(chǔ),建議使用緩存產(chǎn)品如Redis等。而且,用戶身份驗(yàn)證的超時(shí)機(jī)制很關(guān)鍵,當(dāng)用戶發(fā)現(xiàn)驗(yàn)證失敗時(shí)會(huì)頻繁發(fā)起驗(yàn)證,在高峰期這個(gè)過程會(huì)形成雪崩效應(yīng),加劇系統(tǒng)的負(fù)荷,不控制的話,有可能造成系統(tǒng)處理能力下降,累計(jì)下來,會(huì)造成系統(tǒng)崩潰。

2、用戶行程查詢模塊:

行程查詢是防疫碼系統(tǒng)的關(guān)鍵模塊,首先系統(tǒng)核驗(yàn)用戶所屬的運(yùn)營商,再利用運(yùn)營商的接口來查詢行程信息。在高峰時(shí)期會(huì)有大量的查詢,這也是系統(tǒng)容易造成崩潰的地方。

防疫碼系統(tǒng)是通過互聯(lián)網(wǎng)訪問各大運(yùn)營商數(shù)據(jù),依賴于互聯(lián)網(wǎng)傳輸?shù)馁|(zhì)量,在實(shí)際使用過程中,網(wǎng)絡(luò)的擁塞可能會(huì)造成接口超時(shí)的情況,系統(tǒng)超時(shí)設(shè)置也要特別注意,超時(shí)重試時(shí)間不宜過短,避免頻繁重試加劇系統(tǒng)的負(fù)載。如果可以和運(yùn)營商互聯(lián)專線,也能更好地解決網(wǎng)絡(luò)擁塞的情況,但專線的價(jià)格較高,成本會(huì)有一定上升。

整個(gè)請(qǐng)求鏈路上很可能設(shè)置防火墻設(shè)備,由于防火墻的問題,可能造成系統(tǒng)訪問異常,但只要做一些基本的壓力測試就能發(fā)現(xiàn)這類問題,同時(shí)解決防火墻的問題也不復(fù)雜。

3.紅/黃/綠碼的顯示

大部分防疫碼都是依托國家及當(dāng)?shù)毓补芾頇C(jī)構(gòu)的數(shù)據(jù),并結(jié)合行程信息和當(dāng)?shù)卣姆酪叽胧?,?jīng)過數(shù)據(jù)建模,分析評(píng)估后,從而展現(xiàn)出紅色、黃色、綠色三種風(fēng)險(xiǎn)狀態(tài)碼。

部分地區(qū)防疫政策系統(tǒng)構(gòu)建于防疫碼系統(tǒng)之外,因此相應(yīng)的容量規(guī)劃也需要參考防疫碼每日最高訪問量進(jìn)行設(shè)計(jì)。

4.疫苗/核酸信息的查詢

疫苗和核酸信息的查詢服務(wù),目前以紙質(zhì)為主,一般不會(huì)對(duì)整體系統(tǒng)壓力造成影響。但目前來看部分地域的系統(tǒng)化查詢已經(jīng)在逐步落實(shí),后續(xù)需對(duì)相應(yīng)的容量規(guī)劃進(jìn)行評(píng)估,同時(shí)控制好信息查詢的超時(shí)設(shè)置。

當(dāng)前疫情防控形勢(shì)仍比較嚴(yán)峻,防疫碼的穩(wěn)定運(yùn)行對(duì)于疫情防控至關(guān)重要?;诙嗄陙淼脑朴?jì)算運(yùn)營技術(shù)和經(jīng)驗(yàn),UCloud優(yōu)刻得希望通過本次技術(shù)分享,為防疫工作提供一定的參考和助力,更好地發(fā)揮出云計(jì)算的社會(huì)價(jià)值。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )