GitHub“災(zāi)難性”宕機(jī)24小時(shí),程序員通宵修復(fù)......
北京時(shí)間 10 月 22 日早上 6 點(diǎn) 52 分,GitHub.com 出現(xiàn)大面積網(wǎng)站宕機(jī),GitHub 官方為用戶(hù)帶來(lái)的不便表示誠(chéng)摯的歉意,并表示將盡快修復(fù)。
程序員們忙了一個(gè)通宵,歷經(jīng) 24 小時(shí),10 月 23 日 7 點(diǎn),一切終于恢復(fù)正常。
GitHub 在 24 小時(shí)里都經(jīng)歷了些什么?
先來(lái)看下 GitHub“血紅”的狀態(tài)消息列表:
北京時(shí)間下午 2 點(diǎn) 51 分開(kāi)始,狀態(tài)消息不斷在更新:再給我 2 小時(shí)!再給我 1.5 小時(shí)!再給我半小時(shí)!......
然而,“小時(shí)復(fù)小時(shí),小時(shí)何其多”,承諾了太多,做到的太少,無(wú)奈,官方發(fā)布致歉函,表示真摯的歉意:
北京時(shí)間 10 月 22 日早上 6 點(diǎn) 52 分,GitHub.com 上多個(gè)服務(wù)由于受到網(wǎng)絡(luò)分裂(network partition)和 subsequent 數(shù)據(jù)庫(kù)故障的影響,導(dǎo)致我們網(wǎng)站顯示的信息不一致。
我們非常謹(jǐn)慎地采取了措施確保數(shù)據(jù)的完整性,包括暫停 webhook 事件和其他內(nèi)部處理系統(tǒng)。
我們知道我們的服務(wù)對(duì)您的開(kāi)發(fā)工作流程是有多么重要,我們正在積極、努力地建立一個(gè)網(wǎng)站全面恢復(fù)的預(yù)估時(shí)間表。我們會(huì)盡快與您分享這條信息。
在此期間,GitHub.com 上的信息可能會(huì)顯示為過(guò)期,但數(shù)據(jù)并沒(méi)有丟失。一旦服務(wù)完全恢復(fù),一切都會(huì)完好如初。
此外,此事件僅影響存儲(chǔ)在 MySQL 數(shù)據(jù)庫(kù)中的網(wǎng)站元數(shù)據(jù),例如 issue 和 pull request。 Git 存儲(chǔ)庫(kù)數(shù)據(jù)并不受影響,并且在整個(gè)事件期間一直可用。
我們將繼續(xù)通過(guò)狀態(tài)頁(yè)面提供更新和預(yù)估的解決時(shí)間。
從問(wèn)題出現(xiàn)開(kāi)始到解決的這 24 小時(shí)里,GitHub 團(tuán)隊(duì)顯然處于崩潰狀態(tài)。
GitHub 到底怎么了?
由官宣的致歉函以及狀態(tài)消息列表可以看出,此次 GitHub 大面積的宕機(jī)主要是由于數(shù)據(jù)存儲(chǔ)系統(tǒng)出現(xiàn)了問(wèn)題。
給用戶(hù)帶來(lái)的困擾,簡(jiǎn)單來(lái)說(shuō)就是:存儲(chǔ)庫(kù),突然“消失”了!舉個(gè)例子,你建了一個(gè)公共存儲(chǔ)庫(kù),然后敲代碼時(shí),GitHub 會(huì)提示你存儲(chǔ)庫(kù)不存在;同時(shí)也無(wú)法打開(kāi)其他存儲(chǔ)庫(kù),也不能創(chuàng)建同名存儲(chǔ)庫(kù)。
然后網(wǎng)友們就炸鍋了:
也有網(wǎng)友表示,“天呢!GitHub 還沒(méi)修復(fù)好?!要破紀(jì)錄了!”
???
還有網(wǎng)友說(shuō)這個(gè)月不太平,微博、YouTube、Twitter、GitHub 通通都掛了......
有網(wǎng)友稱(chēng)找到宕機(jī)的真正原因:
作為 GitHub 的新東家,微軟也就毫無(wú)懸念的躺槍了......
我也想知道是微軟的鍋么?
GitHub 是正在遷移到 Azure 云么?
GitHub 的終結(jié)者......
也有網(wǎng)友建議把項(xiàng)目遷移到 GitLab 上面:
但 GitLab 就一定靠譜么?那倒也未必。
GitHub 也給出了本次網(wǎng)絡(luò)宕機(jī)熱力圖,可以看到遭受此次影響較為嚴(yán)重的是日本、美國(guó)西海岸、馬來(lái)西亞以及澳大利亞?wèn)|南地區(qū)。
????
不過(guò),于北京時(shí)間 10 月 23 日早 7 點(diǎn),GitHub 終于解決的此次“災(zāi)難性”問(wèn)題,如下圖:
想必 GitHub 的工作人員們應(yīng)當(dāng)是 24 小時(shí)沒(méi)有合過(guò)眼了,辛苦了!致敬每一位奮斗在前線(xiàn)的程序員與工程師!