国产成人无码A区在线观看导航_暗交小拗女一区二区三区电影_巨爆乳中文字幕爆乳区_NARUTOMANGA全彩纲手_GAY成年男人露J网站_久久久久亚洲AV无码成人片麻豆_99西方37大但人文艺术_色8激情欧美成人久久综合电_婬乱丰满熟妇XXXXX性

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

前沿科技 3年前 (2022) 虛像
2 0 0

不知道差友們還記不記得,去年的 7 月 13 日,B 站發(fā)生了一件大事。

它毫無征兆的崩了。。。( 如果忘了的小伙伴,可以看 這篇文章 )

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

至于為啥崩了,當(dāng)時(shí)大家誰也心里沒個(gè)底。

不過吹起水來可是一套一套的,什么停電啊,起火啊,程序員 rm -rf /* 跑路啊。。。

說的是個(gè)天馬行空。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

后來呢,隨著 B 站在凌晨?jī)牲c(diǎn)一頓修仙,把服務(wù)器問題給慢慢解決,這件事情也算是告一段落了。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

本以為這次 B 站崩了會(huì)和微博上無數(shù)崩了的網(wǎng)站一樣,成為我們沖浪生活中的一個(gè)笑談,僅留下一個(gè)大會(huì)員給我們 " 緬懷 "。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

沒想到在今年的 7 月 13 日,B 站特意發(fā)了一篇文章,刨開心窩子來給我們講了一講,那個(gè)晚上,到底發(fā)生了什么。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

咱也看了一下這篇文章,好家伙,讓整個(gè) B 站崩潰的原因,竟然只是一行代碼沒寫好???

借著這篇文章,世超準(zhǔn)備帶大家從 B 站的角度來回顧一下這件事情。

放心,不會(huì)有生澀難懂的名詞,不會(huì)有犀利糊涂的黑話,保證小白也能看明白。

案情回溯

意外,發(fā)生在 2021 年 7 月 13 日的 22 時(shí) 52 分。

負(fù)責(zé)搞定站點(diǎn)可靠性的工程師SRE和 B 站的客服都收到了大量網(wǎng)站打不開的報(bào)警。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

而負(fù)責(zé)處理這些事故的同事已經(jīng)下班了,當(dāng)即準(zhǔn)備在家里通過 VPN 來登錄公司內(nèi)網(wǎng)處理這些問題。

結(jié)果發(fā)現(xiàn)VPN 也崩了。。。壓根進(jìn)不去系統(tǒng)。

最后,還是在公司的整了個(gè) " 綠色通道 " 才成功進(jìn)去。

你說這綠色通道不會(huì)是向日葵吧(一種遠(yuǎn)程桌面軟件)

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

而在綠色通道成功打通,負(fù)責(zé)各種業(yè)務(wù)的團(tuán)隊(duì)就位之后,B 站也開始對(duì)問題進(jìn)行分析定位。

出問題的模塊也很明顯,在線業(yè)務(wù)主機(jī)房的 7 層 SLB負(fù)載均衡服務(wù)器,用來處理多用戶,多業(yè)務(wù)的情況)的 CPU 跑滿了 100%。

簡(jiǎn)單來說,就是 CPU 被不知道哪里來的刺客給占用光了算力,沒法處理業(yè)務(wù)了。

系統(tǒng)未響應(yīng) .exe ▼

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

B 站最開始的嘗試方法呢,和咱們平時(shí)手機(jī)電腦卡機(jī)后做的操作一樣。

重啟就完事了,要相信重啟能解決 90% 的問題!

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

但很可惜,B 站這次是那個(gè) 10.5%。

說業(yè)務(wù)恢復(fù)了嘛,也沒有,主機(jī)房重啟后還是出現(xiàn)了 CPU 跑滿 100% 的問題。

不過別的機(jī)房好起來了,雖然會(huì)卡,但是沒出現(xiàn) CPU 跑滿的問題。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

有一部分做了多活的業(yè)務(wù)(多站點(diǎn)同時(shí)提供服務(wù))開始慢慢恢復(fù)。

所以。。。重啟不能完全解決問題,但是這個(gè)問題既然過去沒出現(xiàn)過

那會(huì)不會(huì)是新加入的代碼問題呢?

隨著時(shí)間在一分一秒的過去,借助分析工具的幫助,問題被定位到了最近新上線的 Lua ( 一種編程語言,類似 Python,Java 這些 ) 函數(shù)上。

隨后,B 站開始進(jìn)行了一波波緊張的回滾操作。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

這一通工作弄下來,雖然好像找到幾個(gè)疑似出問題的部位,但服務(wù)器還是該掛掛,距離 " 康復(fù) " 還有那么一些距離。

沒辦法,總得讓業(yè)務(wù)先跑起來吧。

于是團(tuán)隊(duì)開始兵分兩路。

一隊(duì)繼續(xù)堅(jiān)持排查問題,尋找原因,另一隊(duì)則是開始重建一個(gè)新的 SLB 服務(wù)。

在緊張刺激的一小時(shí)后,新的 SLB 配置成功,原本導(dǎo)向主站的流量也慢慢的開始遷移過去。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

好在這次行了。

凌晨?jī)牲c(diǎn),在崩潰了三小時(shí)之后,B 站的業(yè)務(wù)總算得到了恢復(fù)。

罪魁禍?zhǔn)?/strong>

上面這些,就是那個(gè)晚上 B 站發(fā)生的故事,雖然解決了表面問題,讓業(yè)務(wù)恢復(fù)了。

可是最根本的原因是啥呢?

如果不找到根因,那遲早會(huì)二度暴雷。

負(fù)責(zé)排查問題的同學(xué)也沒讓人失望,在時(shí)間壓力大大放緩之后,找出了真相。

沒有外星人,沒有起火,沒有斷電,和網(wǎng)友們想象的大相徑庭。

B 站這次崩的根因,僅僅是因?yàn)橐粋€(gè)求最大公約數(shù)的函數(shù)沒寫好。。。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

咱先盤一下這個(gè) " 萬惡之源 " 哈。

這是一個(gè)典型的 " 自己調(diào)用自己 " 的遞歸函數(shù)。

a b 兩數(shù)字輾轉(zhuǎn)求余,直到 b 等于 0 的時(shí)候函數(shù)終止。

不然這個(gè)函數(shù)就會(huì)自己調(diào)用自己,重新再跑一遍。

看上去好像是一點(diǎn)點(diǎn)問題都沒有,既明確了遞歸的終止條件(b = 0),也沒有太多復(fù)雜的邏輯處理。

但是既然事情能發(fā)展到這地步。。。那就說明是出大問題了。

對(duì)編程有些了解的差友可能發(fā)現(xiàn)了不對(duì):

你傳進(jìn)去的 0,是個(gè)什么 0?

沒錯(cuò),在編程語言里,數(shù)字 0 和字符串 ‘ 0 ’ 并不算是一個(gè)東西。

為了防止呆呆的計(jì)算機(jī)語言把事情給搞混,像 C 語言,Java 這些靜態(tài)語言都會(huì)要求我們?cè)趧?chuàng)建新變量的時(shí)候聲明這個(gè)變量的類型。

搞清楚它到底是整數(shù),還是小數(shù),或者是一個(gè)字符。

然而 Lua 是個(gè)非常智慧的語言,它沒有這個(gè)要求。

麻煩的臟活累活讓它自動(dòng)來做就好了,Lua 會(huì)根據(jù)程序的需求自動(dòng)分配變量類型。

C 語言示例:

# 定義一個(gè)整型數(shù)據(jù) a,為它賦值 1

# 定義一個(gè)字符串?dāng)?shù)據(jù) b,為它賦值‘ 1 ’

int a = 0;

char a = '0';

Lua 示例:

-- 定義 a 為數(shù)字 0,b 為字符串‘ 0 ’

a = 0

b = '0'

所以,我們給參數(shù) b 傳進(jìn)去的數(shù)值,是數(shù)字 0 呢,還是字符 ‘ 0 ’

一旦前面數(shù)據(jù)驗(yàn)證沒把好關(guān),在執(zhí)行某個(gè)功能的時(shí)候,把字符 ‘ 0 ’ 給傳到了這個(gè)函數(shù)里。

地雷就被引爆了。

字符串 0 不會(huì)等于數(shù)字 0,函數(shù)的終止條件判斷不通過。

所以程序進(jìn)入遞歸模式,再次調(diào)用自己。

在后續(xù)進(jìn)行求余預(yù)算的時(shí)候,Lua 的 " 智慧 " 又突然起到了作用。

Lua 一拍腦袋,咋會(huì)有人把字符 ‘ 0 ’ 拿來做計(jì)算啊,肯定是想把這個(gè)參數(shù)當(dāng)數(shù)字用。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

于是發(fā)生了強(qiáng)制類型轉(zhuǎn)換。

所以咱們小學(xué)數(shù)學(xué)都會(huì)學(xué)到的。。。 把 0 當(dāng)除數(shù)的事情就發(fā)生了。

這要是古老的大哥 C 語言來干這活,可能直接就給一個(gè) Floating point exception 報(bào)錯(cuò)了。

但是 Lua 不一樣,作為一個(gè)新時(shí)代的 " 智慧 " 的語言,它會(huì)優(yōu)雅的返回一個(gè) nan (Not A Numbewr)。

程序,繼續(xù)運(yùn)行。

更要命的是,nan 也不會(huì)等于 0。。。程序的終止條件無法實(shí)現(xiàn)。

這樣跑幾個(gè)循環(huán)之后,原本用來計(jì)算 a 和 b 的最大公約數(shù)的函數(shù) _gcd ( a,b ) 就變成了一個(gè)停不下來的函數(shù) _gcd ( nan,nan ) 。

在停不下來的路上根本停不下來,直接把 CPU 資源給吃滿了。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

太聰明也不是一件好事啊。。。

就這樣,被占滿的 CPU 一口氣把別的業(yè)務(wù)也帶崩了

還得前面提到的在家的 B 站程序員沒法在家通過 VPN 來搶救網(wǎng)絡(luò)么?

沒錯(cuò),他們登錄內(nèi)網(wǎng)的時(shí)候,其中有部分服務(wù)也需要通過內(nèi)網(wǎng)來處理。。。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

屬于是把鑰匙斷鎖眼里,也是崩的理所當(dāng)然了。

崩完之后

最后,如果差友們對(duì)相關(guān)技術(shù)細(xì)節(jié)更感興趣的話,世超建議你看看 B 站發(fā)布的這篇 2021.07.13 我們是這樣崩的

除了對(duì)事故的起承轉(zhuǎn)合,還對(duì)未來技術(shù)的更進(jìn)與反思都做了更加專業(yè),全面的總結(jié)。

講道理,這樣的機(jī)會(huì)其實(shí)挺難得的。

每年崩了的應(yīng)用何其多,但是愿意發(fā)出來給同行學(xué)習(xí),給普羅大眾看個(gè)樂子的寥寥無幾。

向上滑動(dòng) ▼

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

B 站這次愿意分享,直面自己的 " 傷疤 " 。

也讓我們看到了互聯(lián)網(wǎng)運(yùn)維上最真實(shí)的一面。

這些經(jīng)驗(yàn),可不會(huì)寫在任何教科書上。

哦對(duì),這篇文章發(fā)出來的晚上,B 站其實(shí)又偷偷小崩了一次。。。

B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@?

不知道是不是團(tuán)隊(duì)好好總結(jié)了去年經(jīng)驗(yàn)的緣故。

這回還沒等大部分人反應(yīng)過來。。。B 站已經(jīng)把問題給解決了。

原文地址:http://www.myzaker.com/article/62d6d8f0b15ec07ae9611e9f

版權(quán)聲明:虛像 發(fā)表于 2022年7月20日 pm12:32。
轉(zhuǎn)載請(qǐng)注明:B站自曝去年服務(wù)器大崩潰原因,就因?yàn)檫@? | 快導(dǎo)航網(wǎng)

相關(guān)文章

成人AV天堂一二三在线观看| 二人世界免费观看正片在线观看| 成人精品一二三区| 国产一本一道久久香蕉| 麻豆文化传媒WWW网站入口| 日本丰满熟妇XXXX色熟妇| 性欧美暴力猛交69HD| 与子乱刺激对白在线播放| 成人片国产精品亚洲| 极品粉嫩小泬无遮挡20P| 欧美黑人乱猛交xX 乂500| 无码熟妇人妻AV在线影片| 中文精品久久久久国产网址| 高潮颤抖大叫正在线播放| 久久久久久精品免费免费HD| 日韩AV无码午夜免费福利制服| 亚洲精品一卡2卡三卡4卡5卡| CHINESE国产老熟女| 国产制服丝袜在线无码| 欧美人妻精品一区二区三区 | 精品日产一卡2卡三卡4卡自拍| 欧美精品一区二区| 亚洲AV永久无码精品漫画 | 国产精品久久一区二区三区| 麻花豆传媒色午麻豆| 无码人妻久久一区二区三区免费丨| 又嫩又紧欧美12P| 国产精品无码久久综合| 欧美老人巨大XXXX做受视频| 亚洲AV高清在线观看一区二区| OLDGRAANNY日本老熟妇| 精品国产一区二区三区麻豆| 日本无码SM凌虐强制M字开腿| 亚洲一线产区二线产区区别在哪| 公交车后车座的疯狂的做小| 免费看黄A级毛片| 亚洲AV少妇高潮30p| 成人免费AⅤ视频一区二区| 另类小说激情婷婷久久| 羞涩的丰满人妻40P| 草草影院CCYYCOM| 麻豆精品传媒卡一卡二老狼| 亚洲AV激情高潮抽搐乱色| 成人免费无码大片A毛片直播 | 日本高清色视频WWW·174| 亚洲中文成人中文字幕| 国产精品久久久久久久久免费蜜桃 | 久久天天躁狠狠躁夜夜AV浪潮 | 亚洲女人操BB在线| 国产 国语对白 露脸| 内射干少妇亚洲69XXX| 51精品人人搡人妻人人玩| 国产私人尤物无码不卡| 日本少妇人妻XXXXⅩ18欧美| 中文字幕亚洲欧美日韩在线不卡| 国内美女推油按摩在线播放 | 中文字幕精品亚洲无线码二区| 国产亚洲精品一区在线播放| 日韩码一码二码三码区别| 中文在线っと好きだった| 精品国产乱码久久久久久浪潮| 甜性涩爱在线播放| 波多野结衣TORRENT| 免费一对一刺激互动聊天软件| 亚洲国产一区二区三区在线观看 | 波多野结衣50连登视频| 蜜桃中文字日产乱幕| 亚洲欧美在线一区中文字幕| 国产乱了真实在线观看| 色橹橹欧美在线观看视频高清| 97热久久免费频精品99| 久久久久久久综合色一本| 亚洲成A人片在线观看中文| 国产精品成人亚洲777| 色老头精品午夜福利视频| EEUSS影院WWW在线观看| 妺妺窝人销魂体色www| 伊人久久大香线蕉AV色| 精品久久久久久中文墓无码| 亚洲AV毛片成人精品| 国产精品女人呻吟在线观看| 少妇精品无码一区二区三区| 必看无人区一码二码三码| 男妓用舌头舔我高潮不退小说| 一边喂奶一边挨CAO| 精品无码成人久久久久久| 亚洲AV永久无码精品蜜芽| 国产人久久人人人人爽| 天堂在/线资源中文在线| 风间由美性色一区二区三区| 日韩无码AV一区二区| 成人欧美一区二区| 日本无遮挡真人祼交视频| XXXX18HD亚洲HD护士| 欧美无遮挡很黄裸交视频| 99久久无码一区人妻| 欧美精品V欧洲精品| AV永久天堂一区二区三区香港| 免费无码毛片一区二区APP| 中文亚洲爆乳AV无码专区 | 中国熟妇浓毛HDSEX| 猫咪成人网站WWW永久网站| 曰本BBWW高潮BBWR| 蜜臀AV网站在线| 18未满禁止免费69影院| 欧美XXXX做受欧美GAY| JAPANESETUBE日本护士高潮| 青草久久久国产线免费| 宝贝把腿开大让我添添电影| 日本强伦姧人妻久久影片| 成年免费A级毛片无码| 肉妇春潮干柴烈火MYFDUCC| 寡妇大J8又粗又大| 无套内射GIF舔B吃奶| 国内盗摄视频一区二区三区| 亚洲精品国产情侣AV在线| 久久久精品人妻一区亚美研究所| 一边做饭一边躁狂我会怎么样呢 | 萝卜视频高清免费视频日本| 中文字幕一区二区三区久久网站 | 欧美亚洲日韩AⅤ在线观看| 八旬老太太BGMBGMBGM性| 人妻少妇精品无码专区漫画| 苍井空无码免费换线| 天干天干夜天干天天爽| 国产美女精品一区二区三区| 亚洲精品国产AV天美传媒| 久久久精品波多野结衣AV| 中文字幕AV无码人妻| 人妻无码中文字幕一区二区三区| 成人乱婬AV日日摸夜夜爽| 无码熟妇人妻AV在线电影| 精产国品一二三区别9977| 在厨房抱住岳丰满大屁股韩国电影| 哦┅┅快┅┅用力啊┅┅动态图| 爆乳2把你榨干哦OVA在线观看| 孰妇XXXXXX的性生话| 国内精品久久影院综合日日| 亚洲性夜夜综合久久7777| 欧美XXXXX高潮喷水| 吃饭时把腿张开故意让公| 无码久久一区二区| 久久国产色AV免费看| 97国产精华最好的产品价格| 日本少妇自慰免费完整版| 国产激情一区二区三区小说| 亚洲VA久久久噜噜噜久久男同| 久久久久亚洲精品无码网址色欲 | 欧美不卡一区二区三区| 从今天开始当城主| 亚洲AV成人网人人蜜臀| 久久天堂AV综合合色蜜桃网| YY8840私人影院爱不停下载| 脱岳裙子从后面挺进去| 精品无码国产日韩制服丝袜| 50岁毛多熟女一区二区三区| 色翁荡息又大又硬又粗视频| 哈昂~哈昂够了太多太深| 中文字幕韩国三级理论无码| 日韩精品人妻无码久久影院| 国内精品久久久久精品| 18禁裸乳啪啪无遮裆网站| 少妇高潮喷水正在播放| 久久18禁高潮出水呻吟娇喘| FREEⅩ性CHINESE中国| 无码国产精品一区二区免费式直播| 精品色欲少妇一区二区三区| ⅩXXSEXHDVIDEO欧美| 五十路丰满中年熟女中出| 老太性开放BBWBBWBBW| 大乳VIDEOS巨大吃奶| 亚洲乱码日产精品BD在线看| 欧美亚洲日韩国产区三| 国产偷V国产偷V亚洲高清学生 | 麻豆╳╳╳乱女另类| 赤裸羔羊Ⅲ致命快感 电影| 亚洲国产成AV人天堂无码| 欧美特级特黄AAAAAA在线看| 国产偷窥熟女精品视频大全| 1000部拍拍拍18勿入免费视频下载 | 嫩草国产福利视频一区二区| 成人亚洲区无码区在线点播| 亚洲精品卡2卡三卡4卡2卡乱码 | 看黄A大片日本真人视频直播| 粉嫩粉嫩一区性色AV片| 亚洲一区二区精品无码色欲Av| 人人爽人人爽人人片AV| 娇妻系列交换27部多P小| 宝贝腿开大点我添添公口述视频| 亚洲VA中文字幕| 人人超人人超碰超国产| 精品国产一区二区三区麻豆| 波多野结衣AV电影在线观看| 亚洲精品无码专区久久久| 日韩GAY小鲜肉啪啪18禁| 久久精品国产99国产精品亚洲| 丁香花在线影院观看在线播放| 野花影视免费高清观看| 无码AV最新高清无码专区| 欧美成人WWW免费全部网站|