12月20日西安一碼通崩潰事件分析(1)---崩潰原因是什么?

這起事件的分析橘原,會寫得比較長籍铁。因此分成幾部分發(fā)出來涡上。這是第一部分。


01一碼通崩潰事件復(fù)盤

12月20日星期一拒名,也就是筆者撰寫本文的日子吩愧,西安一碼通崩了。具體一碼通是幾點開始崩的靡狞,并沒有一個準確的說法耻警。有人說是7點40左右開始。不過我個人感覺要早一點甸怕。我大概早上7點20左右開車經(jīng)過南三環(huán)繞城高速雁塔收費站入口時甘穿,發(fā)現(xiàn)那里排了大量的車進不去高速。當時沒多想梢杭,后來到了單位后才發(fā)現(xiàn)一碼通打不開∥录妫現(xiàn)在想想,7點多的非高峰期武契,高速進不去募判,估計也是因為司機進高速時無法打開一碼通和核酸結(jié)果。

崩潰的系統(tǒng)其實不止一碼通咒唆,西安的核酸查詢系統(tǒng)届垫,包括疫苗接種系統(tǒng)都崩潰了。當然后兩者可能是因為和一碼通存在強關(guān)聯(lián)所以崩潰的全释。一直到下午兩三點以后装处,一碼通和相關(guān)系統(tǒng)才開始陸續(xù)恢復(fù)。但是樣式回滾到了之前沒有接種標識的樣子浸船。

到了下午大概七點多妄迁,一碼通系統(tǒng)又崩潰了。也是那會李命,很多人說核酸檢測系統(tǒng)也崩潰了登淘。可見這些系統(tǒng)是有一些強關(guān)聯(lián)的封字。


02一碼通崩潰的影響

一碼通不能使用黔州,對于處于疫情漩渦中的西安來說,無異于雪上加霜周叮。

就在12月19日(星期日)辩撑,西安高新區(qū)發(fā)布通知,要求周一員工必須持48小時內(nèi)核酸陰性結(jié)果才能進出辦公場所仿耽。西安的公交合冀、地鐵也在周日發(fā)通知說要求乘客拿48小時的核酸陰性結(jié)果才能乘坐公共交通工具。周一當天筆者大概7點40多到了西安軟件園项贺,結(jié)果因為一碼通無法打開君躺,核酸結(jié)果無法查證峭判,物業(yè)和大廈保安沒有辦法放行。軟件園里每個大樓下面都聚集了好多無法進入的員工棕叫。根據(jù)一些微信群里描述林螃,很多公交車站,地鐵站也都排了長隊俺泣。上午10點多疗认,筆者經(jīng)過一個核酸檢測點時,發(fā)現(xiàn)排隊長度超過1公里伏钠。

由于西安這些天一直有新冠確診患者横漏,政府和整個社會都在加大核酸檢測和防疫政策的力度。而作為防疫政策核心支撐系統(tǒng)的一碼通崩潰熟掂,直接影響了整個西安市幾乎所有市民的生活和工作缎浇。造成的影響應(yīng)該是很大的。


03一些分析結(jié)論

在這里我們還是從軟件開發(fā)的角度來分析一下這起事件赴肚。為了便于大家閱讀素跺,我先直接說一下關(guān)于這起事件個人的一些分析結(jié)論:

一碼通崩潰不是因為網(wǎng)絡(luò)擁堵導致的

一碼通系統(tǒng)的容災(zāi)和備份機制存在缺陷

一碼通系統(tǒng),核酸查詢系統(tǒng)和核酸檢測系統(tǒng)之間的強關(guān)聯(lián)是設(shè)計上的失誤

西安市到現(xiàn)在都沒有把自己的核酸檢驗報告系統(tǒng)和國家的核酸報告系統(tǒng)打通誉券,是決策上的失誤指厌,也是政府信息化建設(shè)中的失誤

未來各地『一碼通』需要逐漸走向互聯(lián)互通

由于話題比較多,考慮到公眾號閱讀的特性踊跟。我打算分成幾篇文章發(fā)布仑乌。這是這一系列文章的第一篇。在這一系列文章的最后琴锭,借著這個機會,我希望談一下軟件系統(tǒng)如何在設(shè)計衙传,開發(fā)和運營中確保系統(tǒng)穩(wěn)定性决帖。


04是擁堵引起的嗎?

一碼通是因為什么原因崩潰的蓖捶?大數(shù)據(jù)局曾經(jīng)對媒體說是網(wǎng)絡(luò)擁堵導致(參見陜西交通廣播微博)地回。今天下午新聞發(fā)布會也說是擁堵導致的。坦率地說俊鱼,這種說法我是不相信的刻像。原因有二:

1.?西安一碼通上線已經(jīng)很長時間了。這期間大部分時候還是很穩(wěn)定的并闲。西安的上班高峰期细睡,也就是掃碼高峰期大體上應(yīng)該在8點到9點之間。但是一碼通崩潰是從7點多開始的帝火,當時大部分人都還沒出門溜徙,更談不上掃一碼通了湃缎。網(wǎng)絡(luò)根本不可能在那個時候擁堵。更不可能因為擁堵造成系統(tǒng)崩潰蠢壹。實際上最近因為疫情嗓违,很多人出門會避開高峰期,高峰期一碼通系統(tǒng)的網(wǎng)絡(luò)流量應(yīng)該是沒有平時大的图贸。

2.?如果真的是網(wǎng)絡(luò)擁堵導致系統(tǒng)崩潰蹂季,那么解決是很容易的。解決網(wǎng)絡(luò)擁堵大體上有兩種手段:一是限流疏日,二是擴容偿洁。限流就是把一部分網(wǎng)絡(luò)請求阻擋住,只讓部分網(wǎng)絡(luò)請求通過制恍。這樣系統(tǒng)負荷就小了父能。擴容就是增加服務(wù)器的硬件,比如增加服務(wù)器的內(nèi)存净神,CPU何吝,如果服務(wù)器有集群,則可以在集群中增加更多服務(wù)器鹃唯,之后通過負載均衡將大流量分布到更多的服務(wù)器去爱榕,進而降低單個服務(wù)器的負荷。

如果為不太懂計算機技術(shù)的朋友們打個比方坡慌,擁堵導致崩潰可以用“小馬拉大車”來理解黔酥。本來小馬只能拉一輛車,現(xiàn)在要求它同時拉兩輛車洪橘,那小馬肯定身體撐不住跪者。解決辦法中的“限流”可以理解為先扔下一輛車,拉走另外一輛車熄求,之后再來拉扔下的那個車渣玲。“擴容”則可以理解為調(diào)來更多的小馬弟晚,本來只有一個小馬忘衍,現(xiàn)在有兩個小馬拉了,自然就可以拉動了卿城。

需要說明的是枚钓,當今的計算機系統(tǒng),基本上都部署在云上瑟押。而在云計算平臺上搀捷,“限流”和“擴容”都是非常容易實現(xiàn)的。甚至夸張一點說勉耀,點幾下鼠標指煎,動一動鍵盤蹋偏,很快可能就搞定了。一碼通系統(tǒng)據(jù)說部署在阿里云上至壤,無論是搞限流還是擴容威始,應(yīng)該都不難,更不至于花了大半天都沒有恢復(fù)像街。

另外一個關(guān)于一碼通問題是程序問題的佐證是黎棠,一碼通的樣式在今天進行了回滾

下面這個圖是10月份時候健康碼的樣子镰绎,注意10月底的時候二維碼就有了邊框注明疫苗接種狀態(tài)脓斩,比如下面這個是金黃色的,標明完成了第二針接種畴栖。

直到昨天随静,這個邊框也是存在的。但是今天下午系統(tǒng)恢復(fù)以后卻消失了吗讶。變成了下面這個好幾個月之前的樣子:

所以我們判斷系統(tǒng)進行了回滾燎猛。

另外,周日進行了核酸的一部分人也發(fā)現(xiàn)他們的結(jié)果一直沒出來照皆。但按照常理重绷,應(yīng)該是出來的。我個人的猜想是數(shù)據(jù)庫也進行了回滾膜毁≌炎浚回滾到了周日的某個時間點。這比程序回滾的時間跨度要小很多瘟滨。

如果僅僅是流量太大候醒,正如我上面所說,直接優(yōu)化網(wǎng)絡(luò)杂瘸,優(yōu)化硬件就可以火焰。為什么要把程序回滾到2個月以前的樣子呢?回答只能是胧沫,程序出了問題,一時又改不好占业。所以只能把程序回滾了绒怨。有可能回滾了很多次,直到找到這一個版本能運行谦疾,結(jié)果已經(jīng)是很久以前的程序了南蹂。。念恍。而網(wǎng)絡(luò)擁堵六剥,明顯只是一個借口晚顷。。疗疟。

需要注意的是该默,在程序下午回滾以后,晚上七點多又崩潰了策彤。原因是什么呢栓袖?很可能是數(shù)據(jù)和程序存在不匹配的情況〉晔或者是數(shù)據(jù)庫里面的存儲過程之類出了問題裹刮。


05系統(tǒng)崩潰的真實原因

那么系統(tǒng)崩潰真實原因是什么呢?目前看起來庞瘸,當事的企業(yè)和大數(shù)據(jù)局都傾向于用”網(wǎng)絡(luò)擁堵“的接口來說事捧弃。他們?nèi)绻桓嬖V我們真實原因。我們就只能從一些表象進行猜測擦囊。當然這些猜測可能對违霞,也可能不對。下面是我個人的分析霜第。

系統(tǒng)之前運行地很穩(wěn)定葛家,突然就崩潰了。這樣的情況泌类,如果不是網(wǎng)絡(luò)問題癞谒,那么大體可以分為兩種:

修改了一部分程序代碼,結(jié)果這部分代碼有問題刃榨,把系統(tǒng)搞崩了。

或者代碼沒怎么變枢希。但是一些新的數(shù)據(jù)進來以后桌吃,引發(fā)了以前沒有運行過的一些情況,系統(tǒng)崩了苞轿。

或者就是上面1和2所說的情況兼具茅诱。

筆者認為:最大的可能是周日晚上一碼通經(jīng)歷了代碼更改,但是上線的版本出現(xiàn)了 bug導致的搬卒。從后面程序回滾以后依然崩潰的現(xiàn)象來看瑟俭,崩潰的原因和數(shù)據(jù)有一定關(guān)系∑跹可能是錯誤的代碼修改了數(shù)據(jù)庫摆寄,導致程序回滾以后依然有崩潰現(xiàn)象。也有可能是存儲過程等保存在數(shù)據(jù)庫中的代碼出了問題導致的。


06一點感想

一碼通有多重要微饥。相信今天大家都體會到了逗扒。然而從這一起事件看起來,一碼通的系統(tǒng)欠橘,明顯缺乏足夠好的容災(zāi)和備份機制矩肩。如果他們?nèi)轂?zāi)和備份機制做得足夠好的話,是完全可以在短時間內(nèi)恢復(fù)到昨天或者前天的狀態(tài)的简软。但是從今天系統(tǒng)反反復(fù)復(fù)的表現(xiàn)看蛮拔。顯然目前的系統(tǒng)雖然有一定的備份機制,但是備份機制不夠完善痹升,甚至比較混亂建炫。這個話題比較長,在后面我會再寫一篇文章來分析疼蛾。

歡迎大家在簡書關(guān)注我的公眾號肛跌。或者在微信搜索同名公眾號“軟件開發(fā)與挖掘機技術(shù)” (softdive)也可以找到我察郁。謝謝大家

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衍慎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子皮钠,更是在濱河造成了極大的恐慌稳捆,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件麦轰,死亡現(xiàn)場離奇詭異乔夯,居然都是意外死亡,警方通過查閱死者的電腦和手機款侵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門末荐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人新锈,你說我怎么就攤上這事甲脏。” “怎么了妹笆?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵块请,是天一觀的道長。 經(jīng)常有香客問我拳缠,道長负乡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任脊凰,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘狸涌。我一直安慰自己切省,他們只是感情好,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布帕胆。 她就那樣靜靜地躺著朝捆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪懒豹。 梳的紋絲不亂的頭發(fā)上芙盘,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機與錄音脸秽,去河邊找鬼儒老。 笑死,一個胖子當著我的面吹牛记餐,可吹牛的內(nèi)容都是我干的汹桦。 我是一名探鬼主播印蓖,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了睛蛛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤厅目,失蹤者是張志新(化名)和其女友劉穎妖碉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體审轮,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡肥哎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了断国。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贤姆。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖稳衬,靈堂內(nèi)的尸體忽然破棺而出霞捡,到底是詐尸還是另有隱情,我是刑警寧澤薄疚,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布碧信,位于F島的核電站,受9級特大地震影響街夭,放射性物質(zhì)發(fā)生泄漏砰碴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一板丽、第九天 我趴在偏房一處隱蔽的房頂上張望呈枉。 院中可真熱鬧趁尼,春花似錦、人聲如沸猖辫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啃憎。三九已至芝囤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辛萍,已是汗流浹背悯姊。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贩毕,地道東北人悯许。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像耳幢,于是被迫代替她去往敵國和親岸晦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 現(xiàn)在每個城市都有一碼通睛藻,作為目前進出各個公共場合的通行證启上。所謂有碼走遍天下,無碼寸步難行店印。 下面從一個程序猿的角度...
    River_6a62閱讀 506評論 0 0
  • 今天是周一,美好的一周剛開始炫贤,早上6點接到老師通知溅固,孩子停課在家學習。做第二輪核酸檢測兰珍,周六早上10點半剛做完第一...
    欣瑞Relly閱讀 106評論 0 0
  • 今天是實施嚴格防疫登記的第一天侍郭,上班坐車公交地鐵嚴格查驗核酸檢測結(jié)果和一碼通,結(jié)果導致一碼通崩了掠河,坐車地鐵只能人工...
    日常迷糊間歇清醒閱讀 174評論 0 0
  • 調(diào)完暖氣后亮元,家里溫度正常了,早起會有一些涼意唠摹,但也是正常爆捞。經(jīng)歷了一段時間的平靜之后,越發(fā)不平靜勾拉,有時候還是覺得自己...
    行走的時光之路閱讀 206評論 0 4
  • 西安煮甥,一個千萬人口的特大城市盗温,歷史文化名城,陜西省的省會成肘,自古帝王都肌访。 在這年末到來的時候,她突然病倒了艇劫,而且發(fā)病...
    有感而發(fā)簡言之閱讀 479評論 7 9